UINavigationController is used to form a tree-like hierarchy of view controllers, which is known as a
From developers perspective:
You can connect independently made controller and get all the benefits of a free hierarchy manager and common UI presenter gratis.
UINavigationController animates the transition to new controllers and provides the back functionality for you automatically.
UINavigationControlleralso gives access to all the other controllers in the
navigation stack which can help access to some functionality or data.
From user's perspective:
UINavigationController helps to remember where user is at the moment (navigation bar title) and how he can go back (embedded back button) to one of the previous screens.