Starting over
Throwing away working code and starting over is sexy. Managers and developers all enjoy the prestige of new and shiny (and buggy!) code. The road to promotion is longer if you choose incremental improvements to a dated solution over a flashy rewrite from scratch.
I know I am only repeating what others have said. And yet, here I am, it's 2008, and I'm involved in a prestigious, massive, throw-away-and-do-it-again effort. Sure, it's fun, more code to write, and no working code to break. The key words there were "no working code" - somehow that's a good thing?!
Parallel maintenance of the old solution, rediscovering the subtle business knowledge hidden away in the old code, and a painful test phase to stamp out bugs you fixed a long time ago in the old code... And of course, prestige-loss when the humonguous project gets delayed - those are just some of the hidden costs of rewriting-from-scratch.
IMHO, incremental improvement of the unloved but working old code base deserved better than the cursory glance it got before being scrapped.
2009-04-01 update: Sure enough, rewriting from scratch turned out to be a great career move... For those of the project management persuasion! :-) Disclaimer: I don't know everything, and it is of course possible that the incremental-improvement way would have been an even bigger nightmare. It would have had to be really, really big though, to be bigger!