Stash has to be my favorite (especially with "-u" AKA "include untracked").
I'm generally very comfortable doing even advanced stuff in git, but still get paranoid about some things. Especially when I'm trying to troubleshoot something for someone else.
Being able to stash away current changes in a place that is separate from any particular branch is invaluable.
I often show stash to people that make a habit of copying their entire project directory before doing something they aren't sure about (backups aren't inherently a bad idea, but that's why you push early and often).