When a checkpoint is performed, the image of the processes is saved to a file. The process can later recover itself from that file and continue to run from that point.
For successful checkpoint and recovery, a process must not depend heavily on its Linux environment. For example, for security reasons processes with setuid/setgid privileges or processes with open pipes or sockets can't be checkpointed.
Checkpoints can be triggered by a program, by a manual request
and/or automatically - at regular time intervals, see the next question.