What is the difference between hook_menu(), hook_menu_alter(), and hook_menu_link_alter()?
hook_menu() -> Define menu items and page callbacks.

hook_menu_alter() -> Alter the data being saved to the {menu_router} table after hook_menu is invoked.

hook_menu_link_alter() -> Alter the data being saved to the {menu_links} table