As someone who decided to jump into client development, myself, please hear my 0.02 BTC as well:
Building a BTC client is f***ing hard. This is many months' worth of effort, even for very experienced programmers with knowledge of all the cryptography, networking, protocols, etc. Additionally, there really isn't an easy "public beta" phase, because the last thing you want is for someone to use your client and lose 100 BTC because your wallet-encryption algorithm got dorked up by some boundary case that only happens once in a million times. That event gets broadcast through forums/BTCnews and no one is willing to try your client again for fear they might lose their coins. I tell you, there's nothing more satisfying than spending months developing a client that no one wants to use... (this didn't happen to me, I'm just giving a glimpse of what could go wrong).
The fact that 0.3.24 client is "beta" really means "freakin-awesome-but-a-little-short-on-features." I agree, the community needs more-and-or-better clients, more usability, less tech-savy-ness-required, etc. But to be fair, BTC is extremely complicated under the hood and extremely sensitive to functional- and security-related bugs. With my experience, I'm not surprised it's taking so long.
Additionally, I'm sure you noticed what happened each time there has been a BTC disaster: MtGox getting hacked, and MyBitcoin stealing/losing everyone's money. These events had nothing to do with the Bitcoin itself being weak, yet the price dropped pretty substantially on both events due to lack of confidence. Imagine now if there was a plethora of buggy clients out there, people losing coins, losing wallets, encryption not actually working, security holes in the networking, etc. That actually would look like BTC itself is crappy. At least the current client is literally usable. It doesn't lose your coins, or open up your network to attacks. I'd rather it be slow than insecure.
I hear your pain. But be patient... there's no other way...