On a number of occasions I have encountered the need to implement a loop to perform a series of actions multiple times. PowerApps not having any looping capabilities aside from ForAll makes this very tricky. I have used the timer workaround, but it is a hack at best, and very inefficient.
Even the fact that the ForAll loop doesn't allow you to set temporary variables is an issue. Most of the time when looping, you may want to act upon whatever you are looping through, but you will also want to set temporary variables so that you can trigger other code. Both definite (e.g. For) and indefinite (e.g. While) looping should be available.
As an example, I have implemented a few Booking systems where my code needed to check for potential double bookings prior to submission. Doing this without proper looping is extremely difficult.