First, not enough developers have a 5 or 10 year relationship with one code base.
Second, you will find many people here who think it's normal to throw away everything and recode everything, every few years. This is because they work on startups, temporary codebases.
A business is an established business model, warts and all. It has found a way to make money, and along the way the codebase to do it will probably look less than ideal.
The world of an established business is one of refactoring code. when 10 year old code makes money, it's valuable in any form, unfortunately. Mix this with management who don't understand software being in the custom software development field for themselves and it's a recipe for interesting times.
Third, remember you're there to make it better. You won't be able to explain things to anyone in any particular detail. You'll have to learn to manage your managers to get enough breathing room and time to start improving things, if you see fit.
As for the pay, it sucks. If this is your first programming gig, remember you can pick the city or the position, never both. If you can commit to learning to solve unreasonable problems for a year in a very controlled experiment, you will grow 3 to 5 years professionally.
Programming isn't for everyone, especially being the guy who can sort out messes really well.. It's a skill that pays handsomely with a track record in place.