Here's the bottom line: bad management. Broussard kept stalling and stalling the release because he could, since he and the company were both bursting with enough cash to sustain things semi-indefinitely. Until they weren't.
Obsessed with moving the game into the latest engine, starting from Quake, to Unreal, to whatever-the-hell-else they were using between 1998 and now, Broussard basically condemned the game to development hell. If he had taken the boss's role of putting his foot down and making a decision to ship the game instead of constantly being in the engineer's role of always wanting the newest thing, we'd probably be playing the 3rd sequel for Duke Nukem by now.
Head over to Wired to see the whole story. [Wired]