Tis just the nature of the beast I think. You have to look at the reason why people who write these programs do what they do. Commercial developers write to make money. You make money by being as attractive as possible to the greatest number of people. And the fact is that a majority of the people in the world care more about things like ease of use and pretty interfaces than about powerful functionality.
On the other hand, open source developers are writing code for themselves and no one else. The oss mantra is pretty much 'this is what I like, and if you wanna mess around with it too, feel free'. There's nothing wrong with either of these approaches, and comparing them is an exercise in futility, because they're just not even working in the same worlds. This is why the hordes of sweaty geeks posting on slashdot "Micro$oft sucks! Linux will rule the world!" need to put up or shut up. Sure linux et al. are attractive to a limited segment of technical people, but without a lot of polish and simplification of basic functions, it's not going to ever amount to anything that the huge mom and pop and granny segment are going to use. And the very nature of open source software means that there can't ever be a monetary reward, and thus no reason to shine up the software to attract mom and pop. Oh what a painful and twisted world we live in!