This is not to disparage the kernel developers, package maintainers or the distributions themselves - there's a lot of people doing excellent work without being compensated at all. However let's not kid ourselves - linux can still be tough.
Unless you buy something from System76 or do very meticulous research on hardware support and build your own, Linux is not going to be seamless out of the box. But the real highlight is that it can be seamless at all these days.
My PC has four GPUs, 128GB of RAM and a deca-core CPU. I have four monitors, a bluetooth mouse, and I almost never turn it off. Instead, it automatically suspends. When I'm away from home I can ssh into my computer if needed. I have daily backups that are essentially seamless.
Now, it was difficult to get to this place. I would say that Linux is, and has for a long time been, rock solid if you're not using a GUI. In my opinion, the single greatest impediment to "Linux on the desktop" is xorg, which is terrible (to put it mildly). Nouveau is absolutely crap, especially since Nvidia puts out its own drivers. But my point here is that after a few days of careful installation and setup work, I have had a seamless desktop experience for something like eight months.
What needs to happen for Linux is a software company that takes something like Debian, fork it and dramatically bring it up to wider compatibility with modern hardware across the market. In some sense that's Ubuntu, and it shows in how easy my daily experience has been.
That being said, I only use Linux for server-side work, and I can easily say that it is every bit as stable as any other server OS I've used, and has been for a very long time. There are plenty of weedy areas to play in if you want to, of course. But if your goal is It Just Works, you can do that, too. Perhaps most importantly, you can do it easily, with just a little foresight during the spec stage of planning your project.
They switched to Surfaces because they wanted power-user hardware?
To pick one example: being able to flick through long documents with a finger while keeping focus on other parts of the screen alone has been a huge productivity booster, and I do not say that lightly.
Like I said before, I was firmly in the "touchscreens are a waste of time for me" camp until I actually started using my Surface. Not trying to sound like an ad, it just has been my actual experience.
Most of my "work" time I spend in terminal. White text on black background, keeping my fingers on home row. I cannot see scenario where touchscreen makes me more productive except in some edge cases, and btw they don't gain over what I already have now. But that's just me. Each to their own, that is only fair thing to say.
But making assumption and claim based on your own point of view is not best thing to do. With Apple, especially it is always the same story, customers leaving and rarely satisfied (it was period around Snow Leopard, IIRC 2009-2010), but still I can't find anything better than MacBook. Dell and Lenovo came close, but when I install Linux on them I make few more sacrifices, summing everything up, Apple just works for me. (I won't even mention Windows. 100% not my cup of tea)
1) A very large portion of other devs I know use(d) MacBooks, and
2) A very large portion of them said "F this, I'm out" when Apple released their most recent machine. Many switched to Surfaces.
Your hyperbole against Linux and Windows does your point no credit. Linux has been rock-stable for a very, very long time, and Windows 10 is a pleasure to use, particularly on touch-enabled devices. MS went through severe growing pains with Win8, but those days are past. And the OS/hardware combinations that have emerged since make Apple's offerings feel old and out of touch.