I have built Unix/Linux stuff from the 1990s with no code changes. Programs that do well defined things generally have a long shelf life. Even X stuff often works, though it can look bad on modern displays.
Math kernels, codecs, and so forth can more or less live forever.
People also have a lot more tolerance for missing features or issues if they see it improving regularly. While getting something unsatisfactory as the last and final version is not nearly as acceptable.