You may encounter a situation where a project is just too big to only consist of sub-tasks. Instead, it may be appropriate to break it down further into sub-projects, each comprising of their own sub-tasks – a hierarchy of projects and sub-projects if you like. 2Do, for valid reasons, does not provide support for sub-projects as such a feature would in fact add needless complexity to the overall structure of your tasks, not to mention dropping synchronization support for well-known calendaring protocols such as CalDAV, which 2Do supports via iCloud Sync for now.
2Do has an elegant solution for this use-case, though. Simply create a new List as your main project, and then add projects to form sub-projects within. Your sub-tasks would then serve as the main tasks at the lowest level. To go one step further, you could create a List Group to serve as your parent project / areas of responsibility, with Lists forming sub-projects within.
This support of using Lists as Projects wasn’t accidental – this was a deliberate attempt in trying to solve the visual aspect of separating areas of concern, without adding support for a limitless task & subtask relationship. Just as you mark a project as ‘complete’, 2Do supports the ability to ‘archive’ lists (equivalent to completing a project and hiding it from view). Simply right-click a list > Archive. All archived lists can be found in Preferences > Protection > Archived.
There are of course known drawbacks to this approach (i.e. of using lists as Projects) – you can’t set dates and priorities to lists. That is unfortunately a small price we pay for clarity and support for keeping synchronization options open to protocols such as CalDAV (which means 2Do can be used with other Calendar / Task managers on other platforms of choice).