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.
Disagree, I think that after a while an app settles into its main use case, and that should not be changed just for the sake of reinvention - then it's time to make a new app