We have all been exposed to this mess. Just create a bunch of menus and menu items (using devel_generate), then add these menus as available for a content type, and finally try to either edit an existing piece of content, or create a new. Switch to the "Menu settings" vertical tab and check the "Provide a menu link" checkbox.

...here's what the "Parent item" and "Weight" drop-down menus look like:


We can do better than that! Here's a couple of Drupal contributed modules that try to address this problem:
https://www.drupal.org/project/menu_select
Replaces Drupal's stock node parent menu item selector with a hierarchal collapsible unordered list. Offers a breadcrumb preview of the menu item's location and an optional autocomplete search.

https://www.drupal.org/project/menuux
...adds a menu browser to the content forms. Users don't choose "parent" and "weight" for the menu item they are adding. Instead they choose a menu, and the menu gets loaded using ajax. The users then places the menu item inside the menu by clicking on the item they want to place the menu below.

https://www.drupal.org/project/menu_link_weight
...replaces the standard numeric weight dropdown widget for menu links in the node form with a tabledrag widget that lists all children for the selected parent.

https://www.drupal.org/project/bettermenus (never realized as an actual module)
Improves the Drupal menu item creation workflow by replacing the standard menu creating widget with a javascript powered tree menu.

Recent comments
Trying to push it to upstream 🤞 https://github.com/drush-ops/drush/pull/6621
Using Drush 8 with php 8
Wow, thank you!
Using Drush 8 with php 8
Hi folks, I went ahead and ported all drush 8.x stuff to PHP 8.3 and completely ripped out the legacy Symfony 2 internals. You can check out the exact details of what was done in the PR...
Using Drush 8 with php 8