Just to play the devil's advocate for a moment here, I've seen many developers join and instead of learning what is around and why it's there, just see everything that existed before they joined as a Bad Decision that Needs To Change To Fit My Expectations. In complex situations sometimes the best solution looks nothing like a textbook Best Practice.
That being said, what you're describing sounds like a shit show. I've seen many talented developers stay way too long at bad places, telling themselves they can make things better.