First post :-)
My favorite anti-pattern is
- Lava flow: Retaining undesirable (redundant or low-quality) code because removing it is too expensive or has unpredictable consequences
The story behind it is a standard WTF: we've been creating a sync application for Symbian phones. The previous version worked fine, but we had to rewrite (most of) the application to work on Symbian 9. In case you're not familiar with Symbian, the change between v8 and v9 required that most of the applications be rewritten to accomondate to the platform security thing (it's fairly evident that the major licensees don't want anybody to write any more apps to it).
So except for one tiny module: rewrite! We got an incompetent manager, who didn't manage, a tech lead who tought that design meant "use the example, and expand it gradually." When I offered the rewrite the hacked-together HTTP handler, the manager said that "We don't have time for that! We need to ship this in September."
In January, after a lengthy "sent-to-symbian-signed - fix showstoppers - goto 1" we finally had it signed. The client got a buggy v2, but AFAIK they didn't care about the fact that it's a barely working piece of shit. It was a failure for me, even though I've got to the company at the last stage of the developement.
Sorry for the off-topic story.