Upgrading macOS and Xcode is a pain, especially with Homebrew and Macports. You'll have to recompile most of your installed applications and it's all managed with a hacked together package manager. Virtualenvs won't survive updates if Python is sideloaded because of linking issues. It's just a mess.
The result is having to spend an unknown amount of time fixing things that upgrades break on macOS, meanwhile upgrades on Ubuntu just work.
Then I stopped. These days rarely go beyond setting terminal font (I built mine, so it's only fair I play lab rat with it) and some Emacs settings. The effort spent in customizing every detail of every app is very rarely, if ever, recovered.
I feel a bit embarrassed I recently added overline support to tmux because I wanted proper overlined status lines on my terminals. In my defense, I did it for fun, not to improve my performance.
I suspect what you mean when you say "it didn't work" is actually, "they didn't like it", which is actually not the same thing. I see a lot of people saying they didn't like things on Macs, not a lot of people saying things didn't work on Macs.
Unless we're talking about 15+ years ago before Linux had driver support for most stuff, or trying to like, just install Mac OS on an unsupported platform without hackintosh workarounds.