The simple answer is to exclude any files that you create or download that you won't need for a restore (this includes files that you're able to re-download or restore/rebuild from another source if necessary).

*`Time Machine` does not actually backup everything.* On the contrary, by default it is configured intelligently to exclude folders like `~/Library/Caches`, `~/Library/Logs` and many others that are temporary in nature, can be rebuilt from available data and are not required during a system restore. *Adding these folders to your exclusion list is not necessary and is redundant.*

The default list of files and folders that `Time Machine` excludes from its backup is listed in `/System/Library/CoreServices/backupd.bundle/Contents/Resources/StdExclusions.plist`. You can verify that the caches and logs folders are in this exclusion list.

For more information, see:

- [What should I exclude, and what should I not exclude?][pondini-time-machine-exclusions].
- http://apple.stackexchange.com/questions/81369/how-can-i-find-exactly-what-files-are-included-in-my-last-time-machine-backup
- http://apple.stackexchange.com/questions/25779/on-os-x-what-files-are-excluded-by-rule-from-a-time-machine-backup

Personally, I exclude two kinds of folders:

1. Folders that contain temporarily used files that I can get from another source if I need them.
2. Folders containing large files that may change frequently. For example, large media files that I may add and delete often are excluded from `Time Machine` because they would fill up the backup disk very quickly. Those are, however, covered in a full disk clone (that I manage with a limited backup of older files).


[pondini-time-machine-exclusions]: http://pondini.org/TM/11.html