I gave an impromptu talk at an EuroFOO conference 5 years ago about exactly this problem:
http://homepages.cwi.nl/~jack/presentations/OpenSource-EuroFoo.pdf.
My feeling is that the basic problem is that, in open source, at most 5% of the people involved are non-programmers (read: non-geeks). And for most projects the number is probably exactly 0% of the people involved. for shareware projects it's close to 50% (half of the developer:-). For commercial projects it's somewhere in the range of 20% (small vendors) to 99% (Microsoft, big software houses).
The input of the non-geeks, while usually dismissed by us geeks as fluff, can be really, really important. Because their interested in such technical trivialities as documentation, ease of use, learning curves, market acceptance (and, yes, financial bottom line too). Those trivialities are important even to hardcore geeks when the software in question is just a tool you need to get the job done (as opposed to the labour of love you've been spending years of your life on).