I believe the problem is that you can either get something that works, or you get something that is very open to tweaking. Systems that are very open to tweaking and changing things around just don't work as smoothly and easily as systems that "just work". And I think that's the reason why so many people are put off using desktops that aren't Windows or macOS.
My computer is a tool, which I happen to use to develop software and do some schoolwork on. I didn't get my computer for the sake of examining how the operating system works or for the sake of changing around things in config files and changing my DE, I got it for the sake of actually using it as a tool to do other things.
So I got this laptop and installed Fedora on it, almost a year ago now. Not once has anything in the OS spontaneously broken, even after two OS upgrades, never have I been forced to go into config files and muck around, no tweaking necessary, using this computer is a breeze. I've never been happier using a computer, because at last I'm using a setup which is stable, never breaks on its own, and which I also know is safe, FOSS, and not full of NSA backdoors or whatever.
The thing is, Windows and macOS separately worked to expose a consistent model/metaphor of how your computer works for users to learn and understand. This model is an abstraction (and thus leaks), but they had a lot of time, money, and smart people to take a crack at it and it works pretty OK. Also, the model they've built is visual which has some benefits like discoverability -- for example, I learned about computers growing up essentially by clicking every button and seeing what what happened.
It's hard to really do that in Linux. It's functional because so many people can contribute all those little pieces, but that comes at a cost of consistency and often complexity. There are a lot of opaque moving parts in a Linux system, and I don't think that's a good thing. When I decided to use Linux on a personal computer, I tried a lot of different ones until I decided to use Void Linux. runit was a big part of that -- all the init systems I've touched over the years, nothing was as immediately simple and obvious to use or observe as runit.
My computer is a tool, which I happen to use to develop software and do some schoolwork on. I didn't get my computer for the sake of examining how the operating system works or for the sake of changing around things in config files and changing my DE, I got it for the sake of actually using it as a tool to do other things.
So I got this laptop and installed Fedora on it, almost a year ago now. Not once has anything in the OS spontaneously broken, even after two OS upgrades, never have I been forced to go into config files and muck around, no tweaking necessary, using this computer is a breeze. I've never been happier using a computer, because at last I'm using a setup which is stable, never breaks on its own, and which I also know is safe, FOSS, and not full of NSA backdoors or whatever.