I think for most people who aren't real veterans, their initial reaction to most new codebases is one of confusion, mistrust, and irritation. We all know how "We'd do it", and that very rarely coincides with how the things we're handed were done. Its sort of NIH-ish, although its not always the case that what we're handed is well-tested and battle-worn like the libraries of code some people distrust due to NIH-syndrome.
It helps to keep in mind, though, when those things are well-tested and battle-worn, because its nearly guaranteed that your newer, better solution will have more bugs in it. It also helps to keep in mind that you, now, don't have the context that whomever wrote it did. You don't know what ridiculous requirement or bug inspired that snippet of seemingly-hideous code. It takes some wisdom and experience before you really know what's worth re-doing. As an annecdote, Bjarne Stroustrup, inventor of C++, will happily tell you that today's Bjarne couldn't have done a better job at inventing C++ and making it a success than young Bjarne -- not because Today's Bjarne has grown slow, stupid, senile, or out of touch, indeed today's Bjarne is much wiser -- but because today's Bjarne is not steeped in the realities that young Bjarne was. Today's Bjarne is incapable of understanding things in the way that young Bjarne was.
That's not to say that old-code is good code. Everyone has seen at least one old, decrepit, crawling horror before. There are times when a radical refactoring or complete re-write justified. Really, what you have to ask yourself is this: "Can I make it better and fix it in the same amount of time that I can just fix it?" If you can size that up honestly and accurately, then you know what to do.
Its hard to do that with whole system though, and an even harder sell to management. A good strategy is this -- when you need to make a change, see if you can refactor something to make the change easy, rather than simply slogging through a hard change. If you can do this, things will become more sane over time.