At a mates company they had a masters developer that used to write absolutely terrible code. He'd use variable names like dog, cat, anna, girlies, face, bonk ...whatever, you get the picture. He quit and is doing his PHD now, and get this...the company has to hire him as a consultant/contractor whenever the code needs to be modified.
He's prob been paid 10 fold what a good software dev would get for the same thing. That pissed me off. Writing non-maintainable code pays well.
This reminds me of the reverse of this kind of story. I had the pleasure of working at a company that had spent a few hundred Rk on a 'killer' system for their internal data capturing needs. It literally sat running on a single computer for months until they could hire more developers to get it working on their LAN. This system was designed to be fast and awesome - making use of up to date modern techniques like middleware to improve performance. The result was a slow dog of a system that only sped up once the incredibly badly designed middleware layer (faux data proxy) was removed. It always amazed me how tenaciously the company hung onto that system and wouldn't let it go.
I've seen companies fall into this trap often. They spend a bit of money and the system doesn't live up to the promise. They then spend a heck of a lot more money to make it work. I once questioned this logic at a client and boy was _everyone_ angry with me. Especially the client since he was at risk of being fired.