The plugin ecosystem is sparse/immature, and the special features like PDF embedding/annotating are not very usable. It is difficult to set up sync properly (I self host Nextcloud and usually have to resolve sync conflicts whenever I switch devices). There is an Android app, which works fine, but the integration with the Android system (e.g. creating a note from a "Share" dialog) is... obtuse.
Structuring everything into "nodes" is a paradigm that works well for me.
It works for me because I can just start typing. I don't have to worry about creating new pages. If I click on a reference (that is, a tag or page -- fundamentally the same thing), I can see all of the other places I referenced it. And all of the places I used that word but _didn't_ reference it.
I can go on and on about logseq and I'm happy to answer specific questions, but the important thing is: it works for me.
For an example of macros, I have a macro that makes it so when I enter `{{mergerequest JIRA-1000, 2222}}` I get links to the JIRA ticket and the GitHub PR. JIRA-1000 is the ticket ID and 2222 is the GitHub PR number. Macros are really powerful and a lot of fun to customize.