Some of my current issues.
So far I've experimented with Gentoo, Ubuntu, SUSE. Will be trying Fedora, Debian, MEPIS.
Gentoo Status - Sucks
I was doing a Stage 2 install of Gentoo. Got Gentoo installed, compiled, and onto disk. Emerged X and the various other things for X. Then spent a bit staring at xorg.conf. Gave up.
Ubuntu Status - Poor
Using the Full install CD. Got the system installed, up and running, but was annoyed that the hardware detection software only identified my PCI ATI 7500, and no the AGP ATI 8900. After spending a few hours looking around inside Synaptic, and installing fglrx components, then searching for where those config scripts got installed too. Was dismayed to find that the config scripts couldn't see the AGP card either. Looking up information on DIA proved fruitless. On top of this the Gnome interface was sluggish. Indicitive of either general compatibility drivers or bad screen management.
openSUSE Status - OK
Using the 1 CD Install for Beta 3. System went online just as smoothly as Ubuntu. Actually detected the AGP card, but did not detect the PCI card. So far still installed, while trying to figure out how to check OpenGL compaitibilty and learn about it's package/ports system. KDE desktop is pretty fast, and after digging around awhile found how to regenerate a xorg.conf file to tell the system that my monitor was a Sony GDM-F500R, which was listed it it's known list of monitors. Very nice. Unfortuantly, the YaST2 system seems to be pretty bungled and the entire area is non-functional. The control panels are spread all over the place. This seems to a result of the way Linux is hanging onto the horrible horrible idea of X.
HAL (Hardware Abstraction Layer)
This is the biggest one. Very important that a desktop OS not only find hardware, but then provide a uniform method for updating and configuring that hardware. I never missed proper control panels so much before. It requires way to much patience and sifting through random forums to administer a Linux system. Part of this issue is lack of a uniform HAL system across all linux systems, compounded by the fact that Xserv exists to control User I/O devices. Instead of XServ simply getting device information from a HAL layer.
X Servers suck X.org or Xfree86, both suck
Sucks, Sucks Suck. The only good thing about a X server is takes the idea of a mobile network desktop to heart. That's where the goodness ends. XServ is providing the HAL for Video, Monitors, Keyboards, and Mice. Either XServ should go on a diet, and sit on top of a seperate HAL or should just become the linux hal. On top of this, it needs a userfriendly method to detect and configure new hardware devices instead of all these custom configuration scripts. As far as I have gathered the only way I'm going to have both of my ATI cards up and recognized under X is to learn everything about xorg.conf.
Config Files need Gui Interfaces
Linux loves to stick to what it believes is its hertiage and require the end user to hack in the terminal. It's cute, but when it's confusing as hell to someone starting out. (me) I'm not expert at Mac OS X, I personally really don't like macs, but I don't have to pop open a webbrowers everytime I want to do something to the system. You cannot simply dismiss my inexpereince as being a Newb, because I've explored more then most end users. So people who are more timid about computers them me would find them selves extremely frustrated with Linux. Moving config files to a GUI front end allows a person entirely new to the process to see exactly what options are available to them. While a example config file CAN provide that ability, a GUI doesn't force a end user to worry about syntax or refering to help documents to build a working group of settings. I'm sure the lack of guis are a combination of most systems not being guarenteed to have windows system and time on part of the developers. You get what you pay for.
A Linux OS is made up of a few things. A Kernal, drivers (compiled or modules), a windows system, a gui system, and a hell of alot of random programs. There is only one thing that makes a Linux system Linux. The Kernal. Beyond that Kernal is chaos. People complaining because this software isn't the right liscence, or complaining about building from source vs binaries, or starting their own distro instead of helping and existing one, or KDE vs Gnome, or Xorg vs Xfree86. The list of things people who care about linux will complain about goes on and on. In the end, you end up with alot of talented people working alone, instead of collarorating. Instead of resolving differences and working on one unifed OS, everyone is working on what they think is best. While that's cute, and "progressive" etc, Linux can't hope to compete agaist systems that have one direction with more resources. You can look at Mac OS X as an example. A very solid base was taken, then a uniform driver system, windowing system, and a bunch of well documented API's were combined. BAMF, we have a solid OS that is easy to use, easy to configure, and easily to develop applications AND deploy applications too.
Linux is not ready for the desktop. It's not even ready for my desktop. An OS is not just a Kernal, it is an entire package, and so far, all the packages for Linux I've seen either suck or will setup a very simple productivity enviroment.
I am still looking for a Linux Desktop so I can work on doing a cross platform application, and for now I'll be using openSUSE.
Edit: I'm currently in rpm hell w/ openSUSE. Also really need to clean up the grammer and spelling in the above, but probably won't.