How to add and create custom menus in WordPress
The admin panel of your WordPress allows you to create custom menus that you can then add and display on the frontend of your site. To do this, log in to the admin panel and go to Appearance menu>Menus sub-menu. On the page that opens there is a column with a few blocks on the left side and a bigger panel on the right side. The one on the right side is for creating a custom menu. First click on the create a new menu link at the top of the page. Type a name for the menu in the field that's provided in that block and click on the Create Menu button.
The blocks on the left side are for adding menu items to the custom menus that you've created. By default, there are blocks for adding links to static pages, to categories and for adding custom links (e.g. external URLs). There are also blocks for adding links to posts, to tags and to post types but they are hidden by default. To make them visible, click on the Screen Options button at the top of the page and mark the respective checkboxes.
To add a menu item to a menu, use the respective block and just mark the checkbox corresponding to the page, category, post, etc. that you wan to add and click on the button Add to Menu. The added menu links will be listed in the block on the right side. You can rearrange the order of the menu items in the menu. To do this hover the mouse pointer over the name of the item in the block on the right, then click and hold the left mouse button and drag and drop the menu item in the position that you want. Using the same drag-and-drop technique you can make sub-menus within the menu. Just drag and drop the item a little bit to the right under the item to which you want it to be subordinate. This will be reflected in the menu on the frontend.
To delete a custom menu click on the Delete Menu button that's in the block for managing the custom menus. There's also a checkbox labeled Automatically add new top-level pages. You can mark it if you want links to new static pages that you create to be added to the menu automatically. Each item in the menu also has some options. To configure them click on the arrow that's next to the name of the item. This will expand a panel with some settings. The Navigation Label is the name of the item as it appears on the frontend. The Title Attribute (by default it's blank) is the text that appears when a visitor hovers the mouse pointer over the link in the menu. There's also a button for removing the item from the menu. There are some additional menu item options that you can add from the screen options. After you're done with the menu don't forget to click on the Save Menu button.
To replace a default theme menu with a custom one, go to Appearance menu>Menus sub-menu and click on the Manage Locations tab at the top of the page. On the page that opens you can select a custom menu to replace each of the default menus supported by the theme. The supported menus depend on the theme. Many themes have at least one menu (e.g. a top navigation bar), but there are some that don't support any. Another way to add a custom menu to the frontend of your site is to use the Custom Menu widget. Go to Appearance menu>Widgets sub-menu, add the widget to one of the sidebars and use its settings to choose the custom menu that you want to be displayed by the widget.
For screenshots and more details read the tutorial on how to manage custom menus in WordPress.