A Bubble app can be complex and large, in terms of number of elements, number of pages, workflows, etc. Bubble has a few features you can use to manage the complexity and make your app manageable as it grows and as you make it evolve to fit your users' needs.
There are in general two main options you can follow to build an app. You can either use many different pages (multi-page application) or limit the number of pages and have a page be multi-function (single-page application), and use groups that you show and hide to show how the page looks and what it does under specific circumstances. When you build a single-page application, conditions and custom states will be extremely useful to control which element is visible and when. Performance-wise, both options have different trade-offs: the first option will lead to faster page loads, but more frequent page changes, while single page apps will have a slower initial page load, but won't have page transition. Naturally, your eventual choice can be an intermediate between both paths.
Organizing your application is not an exact science, but more of an art. In many circumstances, more than one option is a viable path for your app. Experience and personal preference will be key as you build your app. We strongly recommend asking for help on the forum, as app organization is something other users can be extremely helpful with. The general rule is to build something that makes sense to you.