That's the concept in a nutshell. OSS is written and maintained by people that love what they do. Often, the only 'reward' is a positive word by a peer. They strive to write elegant code without mistakes. When there is some sort of problem, it's fixed quickly.
Software for profit has farmed out quite a bit of programming effort overseas to programmers that couldn't care less about quality. Unless someone is watching over their sholder, they would write the sloppiest quick and dirty code possible (witness all of Microsoft's security bugs). The code is locked in the vault never to see the light of day again unless there is a problem.
At the end of the day, corporations like dealing with corporations. Money, not love gets things done. The socialism/communism FUD is for know nothing managers who like expensive lunches, short skirted salespersons, trips to conferences and all day golf dates.
I can't agree with that. Paid programmers can take pride in good work just like with any other profession. Does the architect do a crappy job just because he's getting paid for it? Many OSS programmers also have day jobs as paid programmers, and I doubt getting paid suddenly makes their work quality take a nose dive.