"When It's Done" is better than "When It's Done Enough". Think about it. Remember when Quake II came out... and how BUGGY it was, out of the box? How long was it between that time, and the v3.20 FINAL patch release? Same with Unreal I, perhaps an even better example.
To see what I mean, try this: Install Unreal I (the original release CD) on your system and play through 4 or 5 levels. The graphic performance, both OpenGL and D3D, are poor. The textures are different. The weapons look different. The weapons SOUND different. The game FEELS different---it's like playing a f*cking BETA, Actually, that's exactly what it was when it came out, after all that time, the first game to incorporate that new engine.
So think of it this way - Duke Nukem Forever was out a long time ago. And Doom III was out for a couple months already. Only now, the Beta testers are limited to company employees, rather than all of us.
UNREAL remains one of my favorite SP games of all time, second only to HALF-LIFE. Playing through UNREAL that first time was one of the most pleasurable gaming experiences I can remember. I'd just remember it being a lot better yet if the game was actually done, and not done "enough".