

Joplin is great. I have its data stored locally with encryption, and I sync across devices with Syncthing. It also has built-in support for some cloud providers like you mentioned, and since it supports local encryption, you don’t need to depend on the cloud provider’s privacy policy.
Setting it up on multiple devices was a bit complex, but the documentation is there. Follow the steps, don’t just waltz through the setup assuming it will work intuitively. I made that mistake and while it was not the end of the world, it would’ve saved me 15 minutes if I’d just RTFM.
Yes, and also because integrating Python one-liners into shell pipelines is awkward in general. I’m more likely to write my entire script in Python than to use it just for text processing, and a lot of the time that’s just a pain. Python isn’t really designed for one-liners or for use as a shell. You can twist it into working in those use cases, but then I’d ask the reverse question: why would you do that when you could “just” use awk?
On macOS, Python is not installed by default. So if you are writing scripts that you want to be portable across platforms, or for general Mac administration, using Python is a burden.
This is also true when working with some embedded devices. IIRC I can ssh into my router and use awk (thanks to it being included in Busybox), but I’m definitely not going to install an entire Python environment there. I’m not sure there’d even be enough storage space for that.