I went from Notion and Joplin to Obsidian mostly because Obsidian stores stuff as regular files on my filesystem and I can easily interact with them with external programs and scripts.
Joplin, while being open source itself, has a "proprietary"[1] storage format I can't be arsed to figure out how to interact with.
[1] Meaning non-standard in this case, Joplin is the only software using Joplin's storage method