A problem software companies seem to battle with is software or code rot. It happens when software suffers from a lack of updates over a period of time with respect to the environments it's used in. It can cause the software to become unstable, loose performance or become irrelevant. Advancements in technology (frameworks, languages, environments) can speed deterioration in the software's relevance, usability and innovation. (Software does not physically deteriorate.)
Software rot can be addressed through the use of refactoring which entails rewriting existing code to make it relevant by updating it's code framework, making it compatible for new Operating Systems, etc. without changing its purpose.
Software can face deterioration over time but still be used in which case it is generally referred to as legacy software, not software rot. Quite a few programs