Stuff was badly documented. The documentation that existed was outdated compared to the existing code. Not all executable matched the source code they were supposedly built from. It was unclear if this was because of old compiler bugs, new compiler bugs or (probably) because the source code in the backups was not the actual source code used to compile the exes and that sourcecode was long since lost to time. etc etc
I can't remember the details, it's 20 years ago.