It depends on how much effort you're willing to undertake if you do have a crash. I'm firmly in the camp of "Backup all your data
." Now, anything that is known to be temporary (contents of /tmp, /var/tmp, ...) can be omitted, and anything in a cache directory can be omitted since it is "just a cache" and will be automatically regenerated or reloaded if needed. Also, directories that are virtual filesystems (/proc, /sys, /dev, .gvfs) do not exist on disk and should not
be backed up. I've got a few other things that I specifically exclude (thumbnails, Trash, lock files created by running processes, ...), but everything else gets backed up.
Once I have a backup scheme in place, I run a test by replacing my disk drive with a blank one and seeing what it would take to do a bare metal recovery from just my backup. That can be quite illuminating.