Shelving (issue #3625) is the ability to put aside an uncommitted change in the WC, as if putting it on a shelf, in order to work on something else, and later bring the change back in to the WC. It is very similar to saving a patch file created by svn diff and later applying it with svn patch.

Checkpointing (issue #3626) is the ability to save a snapshot of an uncommitted change in the WC from time to time, and later restore the working copy to one of those previous snapshots. The implementation is based on letting a shelf contain multiple versions.

Wiki pages related to shelving and checkpointing: