What's the most flexible and widely used archiving tool on UNIX-like systems? Tar. Many different versions of tar have existed since it first appeared in Seventh Edition Unix in January 1979, and rare is the user of a UNIX-like system who hasn't at some point typed tar -xf foo.tar or tar -cf backup.tar ~/myfiles — most software (Tarsnap included) is distributed as tar archives.
As the name suggests, Tarsnap is closely related to tar; aside from a few additional options, their command-line interfaces are identical. When you create an archive with Tarsnap, you can specify any list of files or directories to archive (either at the command line or, using the -T option, from a file); you can set the nodump flag on files and directories and uses the --nodump option to tell Tarsnap to ignore them; and you can use the --exclude option to tell Tarsnap to ignore files matching particular patterns (e.g., --exclude *.core to ignore core dumps).
In fact, Tarsnap is even more flexible than tar. Unlike backup systems (tar included) which work on a "full plus incrementals" model of backups — that is, you start by creating an archive containing everything, and thereafter you create archives which only contain modified files — Tarsnap works on a snapshotting model: Every Tarsnap archive acts like it is completely independent of all other archives. (Tarsnap has magic going on behind the scenes to efficiently store archives, so you get the same or better performance than the full-plus-incrementals model provides.)
As a result, you can forget everything which used to make backups complicated. If you want to create an archive containing a bunch of files, you can just run
and that archive will remain intact, regardless of what you do with other stored archives, until you run$ tarsnap -c -f archivename /paths/to/whatever/stuff /you/want/to/archive
to delete it. With Tarsnap there are no rules to remember about when you can create or delete archives; you can do either whenever you want.$ tarsnap -d -f archivename