But I'd note for the OP that "complete rewrites" are not necessarily guaranteed failures. It depends how it's done and what the goals of the rewrite happen to be. The two types of rewrites I've seen be successful:
1. Ship of Theseus rewrites. This is where small modules/segments of code in the project are completely rewritten and integrated back into the whole. This has the advantage of being able to test the new code against existing data constantly, get user feedback, etc. Over time, the entire project has been rewritten, but the benefits (for the cost) have been proven at every step. And you get repeated buy-in from everyone involved from management down to end-users.
2. Massive change of requirements. One may argue (successfully) that this may not actually count as a rewrite as opposed to just being considered a new project. These are usually successful when the project being replaced is notoriously bad/complained about by end-users. But, the same concerns still exist: no benefits are seen until done, potential loss of functionality, new bugs, lost knowledge (read: edge cases not ported), etc.
Ship of Theseus rewrites are successful quiet often. The others... yeah, not so much. It's rare. But, it can happen.