Emacs org-mode, the org format, and the general ecosystem (agenda view, org-roam, and lots of other things) don't really care how you structure your data, so you can choose between:
* a bunch of very focused small files
* a single large file
* some combination of the two
So, for example, I might start off with my "todo.work.org" file and having something like:
* Partner Integration
** <Partner name>
*** APIs
**** Query API
***** Quirks
****** TODO Confirm API only works on Tuesdays
**** Purchase API
*** Tasks
**** TODO Read the documentation
**** STRT Email about feature
**** DONE Complain about horrible APIs in Slack
The built in "folding" support (collapsing/expanding) is pretty good, so you can easily toggle between seeing the whole hierarchy of the headings, the content, arbitrary levels of nesting (i.e., show only headings 1 & 2 levels deep and hide everything else).
The TODO/STRT/DONE entries can be placed anywhere in this hierarchy, and org-mode will take note of them and allow you to build up Agenda views of some/all of your TODOs. So you can ask org to give you a list of tasks filtered by some criteria (e.g. scheduled for this week) - but across many different files.
You can "quickly" jump to arbitrary headings and start building onto the hierarchy. You can "narrow" your view on a sub-heading and the entire edit view becomes only about that sub-heading (so I could narrow my view to just "APIs" and everything below it).
If you want to edit the hierarchy, it's basically a matter of going up and adding some headings ("** HEADING") and using shortcut keys to indent/un-indent (promote/demote) headings.
I find this works really well for me. Allows for brainstorming, keeping notes without pre-organizing them, collapsing irrelevant details when not needed, etc.
Also key for this, you can add UUIDs to individual "nodes" (headings) and those IDs persist with that heading, even if you move the heading to a different spot in the hierarchy (a different heading in the same file, or a different file). So your links (to the UUID, instead of the heading text or file) can be resilient to the restructuring of your data over-time.
There's really a whole lot to org-mode, and it didn't click for me until I watched some YouTube videos, but now I really hate that it offer so much great functionality - but it's tied to Emacs and ultimately feels clunky and slow as a consequence.
I do wish that Obsidian had better Workflow-y esque folding/collapsing/expanding support, it would make the whole experience much better.
> The TODO/STRT/DONE entries can be placed anywhere in this hierarchy, and org-mode will take note of them and allow you to build up Agenda views of some/all of your TODOs. So you can ask org to give you a list of tasks filtered by some criteria (e.g. scheduled for this week) - but across many different files.
If I understand what you're saying, I believe such a thing is possible with stuff like the Checklist 3rd party extension. I am hopeful that as the 3rd party ecosystem matures, even more of these differences/missing features will be patched in.
I think they are actually available now.
> arbitrarily nested hierarchy
What do you mean arbitrarily nested hierarchy?