Another one of the causes to code rot is time. A large program goes bad after time, small changes here, a bug patch there. What applications run flawlessly for a year? two years? ten years? No one writes perfect code, especially on the first try, so unless proper steps are taken to ensure the code is maintained, it begins to rot.