When re-running a workflow, currently you only get the option of re-running the entire thing (and any sub-workflows individually). If you run a hefty workflow and find out you did not adequately prepare a prerequisite (such as org variables), it is sometimes detrimental to re-run the whole flow if it does not have checks for pre-existence of certain items.
A solution (that's not just changing how your flows are written) would be to allow selective re-running of tasks in the workflow.
The one thing I haven't quite figured out in my head is how to properly deal with context. In the situation I outlined above, you would technically want all context to persist besides the missing pre-requisite so that the workflow functions as intended with the new value.
IIRC, the current functionality of re-running does not allow that.
This may need to be paired with some sort of context editor before the confirmation of the re-run, but folks smarter than me can probably come up with a cleaner solution.