You're usually correct. But a great developer is one who can spot the cases where the patterns don't apply. There are cases where the legacy code is so bad that it's better to throw it away, and there are rewrites that work out well (I've been part of one of them).
(Don't listen to JWZ, at least on business/strategy. His employers don't exactly have a great history of success on that front)
(Don't listen to JWZ, at least on business/strategy. His employers don't exactly have a great history of success on that front)