A page that shows a list of a specific custom post type

In addition to @Rarsts answer, once you’ve created a custom post type with archive like this example:

//* Create product custom post type
add_action( 'init', 'register_product_custom_post_type' );
function register_product_custom_post_type() {

register_post_type( 'product',
    array(
        'labels' => array(
            'name'          => __( 'Product', 'wpsites' ),
            'singular_name' => __( 'Product', 'wpsites' ),
        ),
        'has_archive'  => true,
        'hierarchical' => true,
        'menu_icon'    => 'dashicons-portfolio',
        'public'       => true,
        'rewrite'      => array( 'slug' => 'product', 'with_front' => false ),
        'supports'     => array( 'title', 'editor', 'author', 'thumbnail', 'excerpt', 'trackbacks', 'custom-fields', 'revisions', 'page-attributes' ),
        'taxonomies'   => array( 'product-type' ),

    ));

}

You can also control that archive using pre_get_posts.

add_action( 'pre_get_posts', 'customize_custom_post_type_archive' );

function customize_custom_post_type_archive( $query ) {
if ( is_post_type_archive('product') && $query->is_main_query() )

    $query->set( 'posts_per_page', '6' );
    $query->set( 'order', 'ASC' );
return $query;
}

You can then add your CPT archive link as a custom URL to your menu

http://example.com/product/