Rewriting is quite an effort. It's a no-brainer when the existing code is buggy, slow and it's acknowledged by everyone that it needs to be done. On the other hand, not rewriting might mean nobody wants (or is even able) to work on a particular code base. Postponing it too much in the future can mean the project fails and if management doesn't understand in time there's a problematic code base that means devs have no support for what they do. From OP's description it's not possible to see if there are any objective points for the quality of the code (e.g. linting, test to code ratio, uptime)