Logseq is the best, imho.
There are lots of good options if you're okay with closed/proprietary software, but Logseq is open source, fully featured, in active development, and really smooth to use.
Their business model is to charge $5 USD/mo for using their cloud sync solution, but you can use any other syncing service instead just as easily. It's a small team that only gets under $50K/yr so far, though, so please subscribe if it's useful for you.
Edit: Oh, and Logseq files are plaintext using mostly standard Markdown, so it's easy to port your data away at any time if you ever decide to migrate to something else.
That number is just based on my napkin math of their reported subscriber numbers, with some assumptions about distribution of tiers skewing heavily to the low end.