Code decays over time.

Also termed “bit rot”, written code tends to require active maintenance at some point, usually on account of external factors. A library changed and required security updates requiring an integration with a new interface, the operating system packages used by an old framework are no longer available, that version of a database no longer exists online, etc. This decay generates unintended technical debt. As such, written code is in some ways a liability.