Don't even get me started on the fact that the open source community hasn't been able to bring big commercial software to Linux the way Canonical has with the Software Center.
Canonical has done a lot and that's a fact.
Canonical wants to hire people to work on Desktop Linux. In fact, they've already hired a lot of people but really need to hire a lot more people. The income from the Amazon MP3 store and the Software Center is barely enough for a single person to survive on, yet people keep bashing Canonical for it, for reasons I have yet to understand. They think Canonical is so greedy, but they're only going around picking up pennies from under sofa cushions.
Meanwhile, Debian is sitting on a pile of money. Every year, they talk about how badly they need more manpower, but then they can't hire anybody because once you start paying somebody to do some work, then other people don't want to do the same work for free and so they stop making contributions. It's a real Catch-22. From Debian's perspective, donating money is great as it pays for things like DebConf and sprints, but there is still only so much manpower to go around and it's nowhere near enough.
Most other Linux distributions are thinking to themselves that if they just had more users all of their lack of manpower problems would go away. Which is just nothing more than a Myth. You're not going to magically increase the number of people in the world with the expertise to work on open source software and dedicate so many hours every week to it, and do it without any pay. You can take marketshare away from Windows all you want, but somebody who plays games, browses the web, and uses Facebook on Windows will do the exact same thing on Linux. They don't magically become contributors and help out with manpower.
So how to solve the manpower problem on Linux? I think SUSE and Red Hat have already figured it out, *YOU NEED TO HIRE PEOPLE*. Canonical isn't as popular in the server market as Red Hat is, so they just don't have that income stream. Red Hat goes and spends their money on Enterprise Linux, and not on working to improve Linux for regular Desktop users the way Canonical tries to.
Canonical is trying to figure out how to create a synergy with Desktop Linux users where the Desktop Linux users generate revenue which then goes to hire more people to work on the Linux Desktop which then gains more market share which brings more Desktop Linux users. Yet, people keep bashing Canonical for trying to do this and I think that is just plain silly considering the Linux Desktop marketshare is pretty abysmal.
People keep wanting to donate money, but what they really need to donate is manpower. Canonical is in the unique position where they can hire a lot of people, while other distros like Debian believe they can't without their userbase screaming bloody murder and feeling alienated.
The problem keeps boiling down to manpower.. If you can figure out how to get a ton more manpower without money, then I'm sure every Linux distro, including Canonical, would love to adopt whatever suggestions you may have.. Until then, they have a manpower problem and the only way Canonical knows how to fix it is to throw money at the problem and hope for the best. It worked for Red Hat, at least.