You can use the Pages API to perform common tasks, related to managing pages. Such tasks include retrieving the page URL or locking and unlocking pages.
You can also perform more complex tasks. For example, you can extend built-in modules by adding various types of fields to the data stored in these modules by creating custom page attributes. You can, as well, use custom fields for pages to add additional information to a page using user-defined fields. You can use these fields for grouping pages by some classification, such as tag, so that a user can filter which pages are shown in the navigation.