What I said I advocated is shaking and restructuring, not a clean sheet rewrite. Much the same as Spolsky advocates in the passage quoted above. I agree with Spolsky's points, especially on large team projects.
code development project should have two or three clean sheet revs, but it is rare that I'll look at a rewrite after that, especially with code which has been through the mill with users. The only time I'm willing to consider that is when we're doing a complete architectural revamp, but, even then, I'll have my coders do a completion phase with the old codebase such that everything is consistently implemented in the old paradigm and tested.