For clarity, lets get this out of the way: Linux is the kernel, not the entire experience.
You see. This is exactly what's wrong with Linux community. You're instantly getting into this patronizing tone that Linux is the kernel and so on. :-D
Simple fact is: a typical user doesn't give a rat's ass. He downloads e.g. Ubuntu. It's and OS. It's a Linux.
He doesn't know what kernel is. He shouldn't know. He shouldn't have any contact this the basic layer.
For him, Linux is the GUI. Just like he sees Windows as a GUI.
And the GUI is bad. And the apps that install by default are bad (and inconsistent - even graphically). And the Office alternatives are bad. And mainstream games are difficult to use and the native ones are awful.
There's hardly any support as well (although with Ubuntu you can pay for it).
The simple fact is that if you install Ubuntu and have a nVidia card, you don't even need to touch a terminal to get going. If you have an AMD card, you need it just to install the drivers (if you want something other than the Radeon or plain AMDGPU driver for newer GCN card,) and even that can be made to run automatically.
That's a best case scenario, which rarely happens.
Sooner or later you'll have some sort of issue, that will send you into a havoc of jumping between a terminal, config files and community forums.
I'm pretty sure I had problems with at least half of Linux software installed on my PC. And I try to buy mainstream, well supported hardware.
It's much better on VM, but there are still problems.
And it gets worse. Software developers are lazy with Linux versions. The same software made for Windows and Linux has drastically different setup processes. On Windows it's made as easy as possible (automated or done by clicking options during setup), with no need to have any coding experience or knowledge about how this software and the OS work.
To install the same software under Linux you often have to go through countless config files, role creation, setting permissions and solving issues that appear during the process.
I will admit that wifi support needs to be better but, who's fault is it that the driver is crap? The kernel team, the distro, or the device manufacturer? If AMD or nVidia makes a bad driver, who do you blame?
Linux, obviously. It's fragmentation. It's lack of commercial support. Linux is just an OS (or as you like: kernel).
Windows is an ecosystem.
Microsoft, Google and Apple support hardware and software makers. That's why stuff works.
You can literally call any of these companies and say that "Hey, I'm John. I work for company X. We're making a new products and we want it to be compatible with your OS."
And they help you directly, or arrange a meeting with a partner, because they care about the "OS something compatible" sticker on the box. It's not always free and large companies have a priority, obviously.
There's no such thing with Linux (especially for consumers, e.g. gamers). Manufacturers have to sort everything out themselves or hire 3rd party consultants.
Of course it's easier with enterprise stuff. If, for example, you're making something for servers or networks, you might have luck contacting e.g. Red Hat or Oracle. But consumer stuff is left alone.