At the start of my career I worked in a codebase with a page of giant ascii boob art that we couldn’t delete. The identity of whomever did it was lost to time when the codebase had migrated from CVS to Subversion. The company had matured and no one would admit it now.
We were in a heavily regulated industry and code changes were monitored by both our internal compliance department and random checks from external auditors. Deleting the boobs meant putting your name on the code change and no one wanted to take the risk of having to explain why there had been ascii boobs in the codebase. There were no questions asked about things that didn’t change.
So the boobs stayed for years and years.
Almost every codebase has areas that embarrass developers and the company. They persist because tackling them requires admitting that problems have existed for years and you’ve been ignoring them.
New blood is often able to shake up the status quo; they haven’t spent years pretending not to see the obvious.
When it comes to the problems in your codebase, you can be brave and admit that you’ve been ignoring fixable problems, or you can wait to get replaced with someone new. The choice is yours. For a while.