Automatically generated navigations on a website are often based on a parent node and its children. With Scrivito, obtaining the list of children of a particular CMS object and iterating over them to render a navigation is rather straightforward.
But there are other use cases such as category-based or hand-picked navigation items. In these cases, the individual pages to show up in the navigation are widely spread over the object hierarchy, they're not children of a particular CMS object.
You could put the items into a reference list of a prominent page, e.g. the homepage. To render the navigation, the correspondig view would have to access this page and its list directly. This can be cumbersome for editors to work with.
A much better approach is to flag the pages that are to appear in the navigation, and use a search to find them. This way, an editor can set and remove the flag by means of the properties dialog of a page.