There is no such thing as a perfect product. Lifetime of an app's codebase is usually 2-3 years. After that, the app either starts feeling outdated or, more frequently than not, another app does the same thing in a more modern way.