A lot of rewrites fail because they are cancelled before completion—and a half-finished rewrite is, in most cases, not usable.
No one is going to accept a complete feature freeze for one, two, or even ten years while you rewrite everything from scratch. This means that what you are starting to rewrite today will not be the same system you will be replacing once you finish the rewrite (if you finish it)—i.e. you are chasing a moving target.
(Photo by Sébastien Lavalaye via Unsplash )
