The [c] flag of the :substitute command offers the functionality to confirm or skip concrete substitutions. When a substitution has however be confirmed by accident in order to correct that mistake one has no choice but to exit the substitution mode. A typical annoying situation is that one has to re-enter the previous substitution command (say ":%s/x/y/gc") with a modified range (":.,$s/x/y/gc").
In short I propose an additional shortcut in substitution mode (say 'u') which jumps back to the previous substitution undoing it. One can then review and decide again.