For work I prefer the macOS environment partially for the software, but mostly because the machines are standardized and interchangeable. If one machine dies I can swap it for another without any fuss. Restore from Time Machine and get on with life, something that takes about an hour or so.
This is really not the case with Windows or Linux. These require a lot of tinkering and tuning. A recent swap from one Windows 7 machine to a Windows 10 one took days, the migration procedure is basically garbage.
I've never had much luck with desktop Linux even though I use it all the time on servers but those get rebuilt with a new OS when they're out of date. Upgrading them is just too much of a fuss.
If you've got a workflow for keeping desktop Linux up to date and rolling over from one machine to another as you upgrade hardware, that's worth sharing.
Switching to a rolling distro will eliminate the upgrade pain.
Keeping dd backups is also relatively easy.
And unless you're on a custom kernel, you can just roll over to a new machine with your image and the appropriate kernel modules would get loaded for the new hardware at boot.
A large factor in this is that I like to contribute to FOSS and find that 'ideology' to be a match with my beliefs regarding software.