It's possible to write a simple app with a handful of pages. Ionic provides a lot of out-of-the-box components that allow simple plug and play operations. When an app grows, managing different views and their custom data at a specific time or triggered event can be very complex. Ionic comes with some changes to the handling of state and navigation. In Ionic 1, you could use UI-Router for advanced routing management mechanisms. In Ionic, NavController enables the push/pop implementation of the navigation.
Since Ionic introduces many new components, you have to understand how these components impact on your app's state hierarchy and when each state is triggered.