The point of Ubuntu is to bring Linux to the masses. People bring up Unity like it's hurting Ubuntu... and I don't think it is. It doesn't hurt the average non-techie's perception, and techies can install KDE or whatever. Maybe one day I'll install a different window manager and marvel at what a big difference it makes... but right now, it really doesn't matter to me. I can get to Chrome, the terminal, and my text editor of choice. Nothing else really matters to me.
Without techies to recommend it to friends, family and coworkers, Ubuntu will never reach the masses. Non-techies are not independently evaluating Ubuntu.
On the other hand, I don't think Linux can ever reach the masses just through techie recommendations. Even though hardware support has got much better, putting it on any old hardware usually leaves you with some problem, often involving graphics drivers.
I think it needs either OEMs shipping Linux preinstalled with a known-good set of hardware, or better collaboration with hardware manufacturers so it really will work flawlessly on almost any machine. And I see Canonical pushing in both of those directions.
Everybody mentions the hardware support (which I think is fine for the most part), but no one is addressing the elephant in the room: no big vendors develop or port applications to the Linux platform. Valve is the odd one, and even then, it took some years to release something.