I've spend some of my time in the last four years trying to help an Open Source project doing marketing. From my personal perspective (since I also do this for for-profit companies), I believe there are some flaws in your opinion.

(1) Hiding low quality: Theoretically, this would be a point -- if and only if "quality" could be judged objectively. This is seldom the case: Just look at the design decisions different Open Source projects make and how many flame wars these decisions ignite.

Granted, sometimes code lacks objective quality. This is sometimes simply due to the ignorance of programmers -- for example, not salting a password in web applications.

However, most of the time, the lack of quality argument is simply due to people having different preferences! Making code is expensive; it takes quite a long time to build something that's useful and working.

In other words, there's a trade-off and people need to make decisions which goals are pursued, first. Any decision will result in disappointments. Sometimes, management needs to make decisions that emphasize different values then yours, usually the need to make revenue. But also consumers sometimes have different preferences: some would spend an available amount of development time on code security, others would spend it on usability, others on the amount of corner case functionality, others on something entirely different.

Even Open Source projects have problems, here. For example, a few years ago, GNOME developers were absolutely certain they could raise the quality of their product by implementing a spacial file manager. They were "highly motivated and eager to show the world how they think something should be done."

It was a disaster. Most users hated it instantly (strictly speaking, because there was no obvious and easy way to opt-out of it).

Here's the major mistake: Just because you're a developer with an idea, doesn't mean you have a clue what consumers want. In fact, that's the problem in most of these "low quality" arguments, especially when made by Open Source advocates: The software you refer as to, probably has no low quality; it just offers quality you don't recognize or need.

(2) Protecting consumers: This is just another form of the victim assumption many (left) politicians also like to use. You're assuming consumers are innocent and are being "fooled into purchasing" crap. Most of the time, consumers are not innocent. In fact, the most powerful sales arguments are those that build on the greed and selfishness on the consumer: How to make more money, get more sex, be more powerful. In fact, even one of the major sales arguments of Open Source is 'Make more money' (by spending less on license fees).

You can't sell crap to an informed consumer. But why are some consumers ignorant, then? Nobody stops them to educate themselves! You could say, the real reason is their laziness and unwillingness to learn. In other words: They are ignorant because they are greedy. And in fact, that's an argument also used quite a lot by opinionated (Open Source) developers. However, it just means people are selfish and rational on how they spend their time.

Your analogy to toasters is also flawed: There may be some exceptions, but in general making the "wrong" decision about software usually doesn't really hurt people -- in contrast to toasters.

(3) Ethical code: This is just a word many people like to use without due consideration, like "freedom". You probably seriously care about your code, but that doens't mean you're acting ethical. In fact, caring about your code just means you're selfish; for if there's a trade-off between the purity of your code and a feature request by your customers, you're probably going for the purity.

The more probable cause for your frustration is simply that other people don't share your point of view concerning things you care about. Sometimes that means you to do things you don't like. Sure, that's disappointing, but that's just how it is.

Neither marketing, nor market failures, nor Closed Source Software has something to do with it. These are just convenient rationalizations.