Well, if rewriting is maintaining, everybody can write maintenable code.
Did it become a mess? Rewrite time!
For me the art is writing it so you don't need to rewrite and you don't need a janky temporary permanent workaround if requirements change. Clean interfaces, SOLID, plug-ins, etc. Can't do it myself, but the legendary 10x devs usually do.