Let's say your high-traffic app gets a lot of feedback on GitHub about what could be improved, and once in a while, some even say it feels a bit outdated.
Some time passes and you have learned some new tech and feel certain it is more performant, easier to manage, and much easier to work with. Seems like a good fit for your project.
So you have left with two options - whether to continue to update the existing codebase or to re-do it from the ground up using the modern stack you have in mind.
You also already know all the build and layout principles of your app very well (as you have already designed it once), making the second option even more appealing for you, since it should not take that long to re-write it.
Plus you have learned architectural design principles on how to structure your app better code-wise during this time, being ready to implement this in your code.
Also, this would guarantee, that you would work with the new stack from now on and you would not need to work with the previous stack you don't like that much anymore.
On the other hand, it's an endless loop-hole that will never stop, as there will always be newer tech out there, new design principles are being discovered for particular problems every day.
So have you ever been involved in this loophole and how do you tackle it?