To be fair, this is not the fault of the operating system so much as the idiocy that is today's peripherals marketplace. Apparently many peripheral manufacturers stop producing new drivers after a device hits a certain age.
Seems these short-sighted companies believe there is no money in ensuring a decent experience unless you own the latest and greatest peripherals. In contrast to that experience, I've found that modern desktop Linux distributions support peripherals both new and old alike. Thanks to the community backbone making sure devices of all ages receive driver support, every peripheral in my home office works out of the box with Linux.
The software differences and the maddening driver shortcomings have indeed made using Windows a "non-starter" for me personally. And after inquiring with others who use Linux on the desktop, I was shocked to hear I was not alone.
The reasons for disliking Windows for these individuals was less about software politics and more about the desktop experience itself. Despite the Linux desktop often presenting similar challenges for newcomers, at least those challenges can be overcome without a shopping trip for new peripherals. At worst, it's a matter of a small learning curve or some minor troubleshooting.
Even when things work they fail
During several discussions with Linux users, the topic of store-bought software and peripheral driver CDs came up. If you've ever run a printer driver installation CD, you know exactly what I'm about to say. Installing a Windows driver using these discs is an exercise in patience and sanity.
Not only are you left to play "dodge ball" with software installations that you never asked for, the installation process itself takes entirely too long. By the time the driver CD is finished, I might as well have carved pertinent details of the document into a stone tablet.
Then we have Windows networking configuration. You've got to be kidding me, Microsoft. While I believe that networking two Windows 7 PCs is reasonably easy thanks to the provided tools, cross-platform networking with Windows 7 requires more patience than I have on tap during any given day.
Sure, I've done it successfully. However, it's easier to cross-platform a network with OS X to Linux, than with Windows 7. Even Windows XP made this easier, which is pretty sad considering the age of the OS release.
Next up on my complaint list is software management in Windows. Earlier I discussed my grief with software discovery, now it's time to roll my eyes at how Windows handles software removal.
On a Linux system, just run the proper commands from a shell. If you need a GUI, you have solutions such as Synaptic, among a few others. Yet when I use Windows 7, I must remove software one-application-at-a-time. To the very best of my knowledge, there is no method to safely remove more than one application at a time.
To me, this is time wasted and if I was more daring, I'd bill Microsoft for each moment I lost during the experience. The entire experience is dated and in dire need of an upgrade.
Windows Me and Windows Vista
Anyone who has paid attention in recent years will admit that the two worst releases of Windows have to be Windows Me and Windows Vista. The reasons varied between the two releases; however, both shared their need for deeper development and bug removal.
The point here is when each of these Windows releases came out, there was no current Windows alternative available. The only option was to stick with an earlier Windows release or just deal with the flakiness of the newest release.
For Linux enthusiasts, on the other hand, we are fortunate in being able to "distro hop" whenever the urge happens to strike us. Unlike Windows, there are plenty of release options out there to choose from.