The biggest challenge is that things like their interfaces between the model engine and the data have changed dramatically during Cataclysm's development. And their release system had to be reorganised so that they weren't delivering a Cata landscape as well as Classic. Simple things like the coordinate system being different such that they had to translate a bunch of stuff, and of course then painstakingly check that every tree was at ground level, and there was water in every pond etc.
Likely a handful of people spent a week in every single zone just comparing the clients, let alone the time to fix all the issues they found. I *am* a software developer, and we still have parts of our codebase that are older than WoW. When it came to moving our product into the Cloud, we gave up trying to convert and are rewriting the entire product. I'd hate to have to do the work they've been gracious enough to do.