On starting over. Don't do it.
ewakened.com
ewakened.com
Monkeypiling on top of old work is really advice out of the 90's.
These articles with a bunch of three word sentences and zero justification are becoming annoying.
I've also seen this as a solution to many problems because it was much easier for the developer to start over than to figure out the existing code and try to work with it.
But, there are some instances when a rewrite is the answer.
When talking about websites and web applications, client-side integration makes it nowadays very easy to add new modules to legacy codebases using a completely different technology. With a little bit of JavaScript, you can have some parts of webpages coming from an entirely different new server, using a new fresh framework and backend database. I think this is the best way to start migrating to new technologies, one step at a time.
I've run into more examples of broken code for which the above statement is true than I care to remember.
My original response was meant to be a rhetorical question, with the purpose of hinting that techniques for verifying the correctness of code might have existed existed prior to the 1990s. But "we haven't heard any complaints from users yet," while certainly a popular technique, is only slightly more reliable than prayer as a QA policy and I personally wouldn't recommend relying on it.
It's not that you should never rewrite, but it's always a lot more work than you think it's going to be.