The Linux / Windows approach gives you far more flexibility. MacOS is useless in a million scenarios. But when it is good, it's really good. The UI is still pretty crap, but things like patching they can do with a reliability no one else can. No matter how hard anyone tries, vertical integration of components means things like patching can be tested completely, not just spot checked.