As for Wifi, none of the devices I own have given me any problems. I've heard people curse NetworkManager, but it has always worked nicely for me, including VPN support. Maybe I just got lucky, but I have never run into any problems.
(My desktop is a MacMini, just to be clear, but all my other computers run various Linux distros or BSD; I mainly stick to OS X on my desktop because I need to access my Exchange mailbox at work, and on OS X it "just works", while on Linux/*BSD, it only sorta-kinda works - except, apparently, for CentOS 7 using GNOME 3 and Evolution. It's not like I am particularly unhappy with OS X, though.)
"At least when we complain about bad windows features, we're not going to get gaslit." I feel equally frustrated troubleshooting Windows/Linux/OSX and third-party software. Most often I'll find someone with the same error, the first reply is something like "it's working for me, can you post a full log?", a full log is posted, and there was no further correspondence.
And that's another reason I won't go back to Linux from a Mac. I don't want voluntary support and to have to spend hours trawling forums to find fixes that don't work.
I want paid support where someone is accountable when things don't work like they're supposed to. Every hour I spend futzing with Alsa or PulseAudio or PPAs or dodgy WIFI and printer drivers is an hourI could have been earning money (I'm a freelancer).
That's what I meant when I said: "Polished has become more important to me as I've aged." When I was a student, I loved fiddling around with Linux. Now I'm a grown-up, I loathe wasting time. OS X lets me get on with things in a pleasant and consistent environment that works exactly as it's supposed to.
I do have Linux nostalgia, but when I've tried to go back, I just become frustrated.
To be fair, you get to do that with Windows problems, too. I work as a sysadmin at a Windows shop, and unless your company is willing to spring for an expensive support contract or pay a few hundred bucks per incident, Microsoft is not going to lift a finger to help with your problems and refer you to the technet forums instead (and lots of other software vendors do that, too).
I do agree with the "I'm too old for this crap" line, though - like I said, things pretty much have just worked for me over the last couple of years, and I do not miss the good old days of spending a weekend trying to get something trivial like a touchpad or audio to work. It was fun back then, but that was a long time ago.
Not only there - at work, part of my duties at work is being the local helpdesk monkey. When people call me and complain, say, that the Internet is slow, the first thing I do is call up some semi-random web page and see if/how fast it loads. When it loads fine, my first response, too, is "works for me", meaning the problem is on their side, not on our router or the Internet at large. It does not mean it is their personal fault in any way. It just means I have just narrowed down the problem somewhat. It is a first step on what often has been as fascinating (and often enough frustrating) journey.
Oh my, I should have finished reading your response. ;-) (When I am giving voluntary support, "works for me" does not, of course, mean "it's your fault and you're a moron", it means "I am not your personal helpdesk monkey - but if you're willing to do some more work narrowing down the problem, I am willing to continue helping you fix the problem!")
That is not what I meant at all. I am sorry if you got that impression.
What I meant to say is that I was rather lucky in that regard. While hardware support on popular Linux distros has improved massively since I first tried it, there is still a lot of hardware around where support on Linux sucks. If I tried some distro on my notebook and something like Wifi or suspend/resume did not work, that would be a dealbreaker for me, too, and I am too old to spend a weekend trying to get stuff like that to work. But like I said, I was very lucky in that regard (and I really mean lucky - it's been at least ten years since I had to spend any significant amount of time getting my hardware to work properly).
# apt-get install network-manager network-manager-applet
# systemctl enable network-manager
# systemctl start network-manager
$ # put "nm-applet &" into your ~/.xsession
And now you're done. I think most people would find Network-Manager's applet easier to use than if they had to configure a network in Windows 10.OSX connects to wireless networks much faster, and also occasionally Linux won't connect to a network at all while OSX does. This might not be a problem when you just use your computer at home but if you are a consultant and you're at the customer's office, you just don't want to run into those connection problems which Linux occasionally gives.
Driver support for new hardware platforms or one where the hardware producer does not help enough might not be that good: I think Intel's Skylake platform might serve as a good example – an older Linux kernel had a bug where laptops would crash when the lid was closed; now that Skylake is older the bug has been fixed.
That being said, Linux has drivers for many more stuff out of the box than every other operating system. Of course, for the perfect out of the box experience, you have to choose matching hardware – same as with OS X actually.