The kinds of software most of us use every day tends to be written by people that actually know what they're doing. The problem is that despite the individuals' best efforts, the product can still suck because of bad management, deadlines that are too tight, lack of quality controls, etc.
Also, you'd be surprised about the real causes of performance issues like excess memory usage. The underlying cause is rarely what developers think it is. Example: Outlook is a memory pig because it uses too many threads. It uses a lot of threads (ostensibly) to keep the UI responsive when it makes requests to the Exchange server, etc. So they optimized for one thing, and ended up pessimizing for something else. These guys are not stupid -- just wrong. It's possible to be smart and hard working, and still be wrong.

I like your passion for quality though -- keep it up.
