Software engineers delude themselves: "clean" or "simple" code is a myth. I've never seen it in my life.
All useful and enduring code necessarily becomes complex. You need engineers who can handle complexity, dive deep, make order out of chaos, propagate institutional knowledge via documentation and teaching.
Occasionally, code needs to be rewritten from scratch. But this is best managed by those intimate with the old code, who know its strengths and weaknesses, where the bodies are buried.