It's because the users are there. It's similar to things like YouTube. Every YouTuber complains about YouTube... but there is no other place where their random video is going to be recommended to a million strangers. (Twitch is similar.) So, they put up with it.
It boils down to what problem you want to solve. If you can figure out how to convince Mac users to switch to Linux, then you can be successful in your approach of "ditch Apple for being evil" or whatever. If you can't, then you have to find a new line of work (there is plenty of software engineering to be done that never touches an Apple product), or you have to put up with the poor developer experience.
It's also unlikely to be sunshine and roses on the other side of the fence. For everything that's bad about platform X, platform Y probably has just as many annoyances. If you're looking for perfection, you're going to have to remake the world in your image from scratch. That's a lot of work!
If you want to sell software for money, Linux app development is not the right business to be in.
Developing for Linux leaves you with a smaller range of users than Windows and Mac.
https://www.compoundtheory.com/some-arguments-against-linux-...
https://blog.hiri.com/a-year-on-our-experience-launching-a-p...
"Pricing wise, we haven’t noticed anything that distinguishes Linux users from everyone else. They are no more cost conscious than Mac / Windows users. They are definitely willing to pay for software."
As an on-again/off-again linux user, I have paid for software or donated to many projects and it seems others are willing to do the same, however it is still a much much smaller group.
These posts were written decades ago:
http://www.paulgraham.com/road.html
https://www.joelonsoftware.com/2004/06/13/how-microsoft-lost...
> If you want to write desktop software now you do it on Microsoft's terms, calling their APIs and working around their buggy OS.
> And if you manage to write something that takes off, you may find that you were merely doing market research for Microsoft.
It keeps happening over and over again!