I remember when I first installed a Linux (Ubuntu) on my computer just to see how it works some years ago, I was pretty impressed (at first). The drivers were sorted out for me and a lot of good, useful software came out of the box with the OS. It seemed to me that if I just tweak a few things and adjust a few settings, it will be ready to go. And then I entered the nightmare.
Graphical configurators? pshh, please, that's too Windows. No, you want to have to google for everything you want to change because everything is hidden away somewhere in come config file buried in the depths of the system itself. Of course, many times you won't find it so you ask people online and they will tell you to look for a file that doesn't exist or change a line in the config that isn't there. AARGH!
And it seems like the main philosophy for developing certain parts of the Linux operating systems is: "If it works, it'll do". The prime example of that is the sound. In windows you get an extensive configurator which lets you decide on your speaker configuration, volume of every input and output on your soundcard, and most importantly, the bit depth and sample rate. Also, the volume slider actually shows the percentage so if you find a volume that's just right, you can remember it and easily come back to that exact setting later.
What do you get in Linux? A volume slider that doesn't show percentage and a few basic settings. Want to change anything else? Dig right into the config files. I asked people online how to adjust the bit depth and sample rate. Some of them were actually baffled by why I would want to do such a thing if the sound works... Well yeah, why would I want to utilize the full potential of my hardware? The sound works, so it's all jolly good, right? Such thinking fills me with rage.
I remember having a problem with Ubuntu once when the sound master slider would reset on each start up of my netbook and bombard my ears with full volume. Lovely... And then there was a time when I wasn't able to change important settings in the Nvidia control panel. And there was a time in which the software updater wouldn't work. And there was a time when the mouse cursor would "glitch through" while playing Minecraft. And there was a time when network discovery gave me the middle finger and decided to no longer work. There was a time... meh, you get the idea.
I think that Linux definitely has the potential to be really awesome. The problem is, hardware companies either don't bother to develop Linux drivers for their stuff or they release crappy, buggy, limited versions of such drivers. Software developers would often rather spend their time, effort, and resources on Windows-specific software rather than go multi-platform, because that's where most of the userbase is. As for games, you know how it is. BUT it is slowly changing. More and more stuff is being made for Linux but it still needs a milestone event to really turn the eyes of the world to it, someone would have to do something revolutionary to show that Linux can be great... I'm looking at you, Valve.