In D7 adding a normal menu item to the system hierarchy, for example, at the end of
Home >> Administration >> Configuration >> System
involves defining the menu item in hook_menu() using something like this:
$items['admin/config/system/optimizely'] = array(
'title' => 'Optimizely',
'description' => 'List of all ...',
'type' => MENU_NORMAL_ITEM,
// Other properties for 'page callback', 'file', etc.
In Drupal 8 this is done quite differently. For the Optimizely module, there is a new file placed at the module root,
whose contents define menu items such as,
description: 'List of all ...'
route_name refers to a route that is defined in the optimizely.routing.yml file.
_permission: administer optimizely
To find the name of the menu item for the parent property, I did a string search of the path 'admin/config/system' across the core routing files. That turned up the route system.admin_config_system in the file system.routing.yml. Looking in system.links.menu.yml confirmed that system.admin_config_system is also the name of the corresponding menu item.
The name of the menu item, optimizely.listing, is by convention usually identical to its route_name. That's not a requirement, but it is a common convention that readily associates the menu item together with its route.
In D7 hook_menu() serves multiple purposes, whereas Drupal 8 distinguishes between routes and menu items and defines them in different files.
Menu and routing system