The current ability to loop back to a previous stage in a workflow is limiting in that either tasks need to be completed, approvals need to be rejected and lots of thought needs to go into at what stage can loops initiate and where should they loop back to.
In a modern, dynamic and agile way of working, it should be possible to reset a workflow to a specific stage with minimal clicks. E.G. Select a task and hit the reset button. All dependant tasks would become inactive and the selected task would become active.
This functionality would likely need to be restricted via roles.