Vim doesn't just support undo & redo, it has a branching model that allows you to do move backwards and forwards through the timeline of the document. It's very clever. It's also pretty hard to make best use of.
Gundo gives you an ASCII-view of the undo tree that makes it super-simple. You can view the tree of changes, navigate it, see the diff and revert back to any point in time:
@  3 seconds ago | | o  8 seconds ago | | | o  19 seconds ago | | | o  26 seconds ago | | | o  27 seconds ago |/ o  Original
Even when you're using version control & committing regularly, Gundo can save you a lost snippet of work or remind you of a blind alley you've already been down. Plus, frankly, it's really neat....