I have no love for Windows (and active hatred for Apple), and I highly value much of the features, customizability, open-source culture, and anti-capitalist aspects of Linux. But it's not perfect.
I'm a software engineer. I part pick and build my PCs. I've worked in IT. And I manage my home networking and automate my self-hosted media server. But when I tried fully switching to Linux a few years back, I held out for a few months, but it just wasn't worth the hassle. My PC had an Nvidia graphics card, and I had no choice but to use a wifi dongle at my previous residence. Support for both was an after market hack job that needed constant maintenance. It was just annoying, my monitor's resolution just dropping to 480p and the internet cutting out until I reapplied some patch job.
If I had built my PC with Linux in mind, I would have done it differently. And I'm sure that I'll try again with my next PC when I can pick compatible hardware. But my point is that I'm far from the layman and still didn't stick with it the first time. The average computer user doesn't need a project, doesn't need highly customizable everything, and doesn't care about open source. They need things to just work. And I know the problem is the lack of Linux support from major tech companies, which is BS. But that means that Linux simply can't provide that stability and just work for a more casual user. So it is not the best option for most people.