Linux's fundamental, unsolvable problem is that it's not an operating system. Instead, it's a kernel, with a bunch of other systems stapled to it. This creates headaches both for new members ("Which distro should I use?") to users with a bit of experience ("Should I use X11 or Wayland?") to the admirable people down in the trenches ("alsa or pulseaudio?"). Linux prides itself about its flexibility, but all this does is cause long annoying conversations at every level. Vi, Vim, or NeoVim? These kinds of conversations don't happen with other OSes because other OSes are _fundamentally centralized_ in a way that the Linux community isn't and probably never will be. Right now in Windows there are essentially 2 ways to run Linux programs - VMs and WSL. If Windows used the Linux model, I can very easily imagine a dozen different ways to run Linux programs on Windows, all with their own upsides and downsides and rabid fanbases, with the consumer stuck in the middle of the intersection wondering which way to go.

This fragmentation has real downsides, too. I have an odd multimonitor setup with one vertical monitor and two horizontal monitors. I can configure this in KDE's settings, but the login shell is a separate application and needs to be fixed by googling the solution and changing some config file. I've never had a Linux distro that, when I configure the default monitor when logged in, also uses that setting when logged out. In all my years of using Windows this has never happened!

In some ways, this is one of the ways in which a company controlled project has more of a chance to succeed than a community-built open source project. They have a financial incentive to stick to one plan and do it well, rather than develop a dozen competing products and brute-force a good solution. The user-facing areas of Linux that do the best are projects like Android, Ubuntu, and Pop OS, all of which have a company that keeps them in line.

This is to say nothing of the google-centric UI of Linux. Don't know how do do something? Google the answer, sifting through multiple possibly out-of-date forum posts, or excavate through man pages to find the answer. In other operating systems, you can confidently rely on the OS helping you out, but not Linux. This behavior is often dismissed as "hand-holding". Well, I suppose I want my hand to be held then! I don't want to waste time finding the answer online, I want the OS to show me to the answer so that I can find it for myself. I can never remember the correct syntax for systemctl commands; I don't use them often enough to memorize them. So I have to look them up every time. Windows, meanwhile, has provided a GUI (that I know will exist on every Windows machine) that I can use to stop and start these things. In fact, Windows has provided a tool that I can easily use to troubleshoot the system, without having to google for commands first, that is easily accessible. Meanwhile the Linux answer is "here, learn how these dozens of commands and how these dozens of config files work; if you encounter enough problems you'll start to memorize stuff." The stench of Stockholm Syndrome is strong.

People complain about the difference between Program Files and Program Files (x86) in Windows. Well let me introduce you to the dozen different places to install an executable in Linux! Also, half of them are sim-linked to the other half in an effort to decrease confusion (they seem to have failed there).

Yes there are problems with Windows. The registry should have been an actual database, dark mode isn't os-wide, and most of the settings still haven't been corralled away from winforms into the new settings app (though you can't seriously be suggesting that Linux's "put a config file anywhere in whatever file format you like" system is better). I want to like Linux but every time I try it I end up having frustrating problems that take way longer to solve than they would on Windows.

Edit: Holy moly, sorry for the accidental essay. Hadn't realized how long this had become