The GNOME/KDE development model is pretty strange. They release a new major version that changes everything so they spend years fixing and stabilizing, and then they release another major version and repeat the process.
XFCE does a better job. "XFCE4" has been around for 7 years and they provide small improvements but don't make any radical changes.
Unity was pushed out before it was ready. I understand the need to get people using it but it's still not a passable desktop for many people and probably won't be for another couple of Ubuntu release cycles. Hopefully once it stabilizes they won't repeat the mistakes of GNOME/KDE and decide to change everything again.
It's a common scenario in the open source world. Projects get bogged down in personality or leadership issues, and it's a lot more fun to write something new rather than maintain some other guy's code.
It's funny that problems that have bedeviled the Linux Desktop haven't really changed over the last 10 years. Poor release QA, "almost there" hardware support, painful transitions from X to Y. Nothing ever really stabilizes.
They release a new major version that changes everything so they spend years fixing and stabilizing, and then they release another major version and repeat the process.
This is inevitable when you either set your sights too low (and after a while realize that your current architecture will never get you where you need to be) or develop too slowly (so by the time something is finished the market has moved on).
Personally, I think it has more to do with the fact that very few people want to fix old bugs in an old codebase in their free time when they could be writing a brand new version with brand new bugs. "This time, we'll make better bugs!"
Unity was first released in Ubuntu 10.10 Netbook Edition. And that was based on Ubuntu Netbook Remix, first released in 8.04 (they didn't necessarily share code, but the design was similar).
You would think that by 11.10, released a month ago, they would have something release-quality. I think it's just the design that people don't like. Canonical has the resources to fix bugs, but they don't necessarily have the desire to fix design defects.
It is hard for a dev to say a crash is a feature. It is easy for a designer to say an unusable UI is an intentional exploration of a new paradigm for modality in transhuman existence.
XFCE does a better job. "XFCE4" has been around for 7 years and they provide small improvements but don't make any radical changes.
Unity was pushed out before it was ready. I understand the need to get people using it but it's still not a passable desktop for many people and probably won't be for another couple of Ubuntu release cycles. Hopefully once it stabilizes they won't repeat the mistakes of GNOME/KDE and decide to change everything again.