Usability for Nerds/Provide alternative ways out of a situation

If you have read the page The user should be in control, then you are probably already convinced that there should be more than one way out of any situation. The list below gives typical examples of options that a user might want to have in a critical situation:
 * Proceed to next step
 * Return to previous step
 * Undo last operation
 * Undo more than one operation
 * Redo undone operation
 * Cancel operation
 * Save data and interrupt operation so that I can resume later
 * Help about this step
 * Help about program in general
 * Leave program

An operation that cannot be undone may be preceded by a warning such as "Are you sure you want to delete this?". However, such warnings should be used as little as possible, because users tend to ignore warnings if they come too often.