My years of desktop linux usage (Fedora, Gentoo, Ubuntu) showed that:
1) Sound support, especially PulseAudio (insert many many curses here) is flawed in linux. Sound is not something complicated nowadays - unlike some 15 years ago when one had to mess with IRQ's, midi settings, and using obscure helper applications provided by the manufacturer, today sound is pretty much a given. In linux it was always either it works from the start, or it takes days of screwing around to get it going. Fortunately, I found a wonderful replacement to PulseAudio, which actually just works, and I recommend it to anyone using sound in linux - it's OSS (Open Sound System). I am not sure what OSS was in the past, but the modern project (developer.opensound.com) although still in its "unstable" version for the past several years, worked marvelously for me all these years. There's almost no configuration. Pretty much install, and start using (oh, and remove PulseAudio before!!!!). When kernel changes on Gentoo, it automatically recompiles and relaunches the modules at startup. Multiple sound sources work great in unison, which is something that PulseAudio failed miserably with.
Other than that, there's a problem of different applications supporting different sound daemons, but hopefully there'd be a winning standard in the future, which most applications will support.
2) Webcam support is annoying, just like sound above. Many webcams have kernel support, but then you have to look for it and re-compile a custom kernel, which most users will not do.
Why not have a GUI wrapper which would attempt to find your webcam in the kernel modules support, and if available, compile the relevant module to get it going without user intervention.
3) Video card support is beyond annoying. We can often blame video card manufacturers for that, and support did improve with GUI's that generate xorg files over the years, but it's still a long way to go. Every time my kernel changes, I have to re-install ATI's modules. Multi monitor support with acceleration and all the good stuff is in its infancy.
4) I had great experiences with various multimedia players, and file support. I never tried to do anything crazy, but 99% of my DivX's, xvid's, dvd's, and other play just fine in VLC.
5) The flash plugin is the one thing that I have to kill every few days, or it hogs all of my memory.
It's not linux's fault though, but Adobe's. The one thing everybody shouldn't do is create flash websites, and the one thing everybody should do is to yell at developers for creating flash websites. Go HTML5!
Keep Up with TechRepublic