What are checkpoints? I often read that checkpoints protect the network from a 51% attack because an attacker cannot reverse transactions made before the last checkpoint.

How exactly does this checkpoint mechanism work? And who creates the checkpoints?
The checkpoints are hard coded into the standard client. The concept is, that the standard client will accept all transactions up to the checkpoint as valid and irreversible. If anyone tries to fork the blockchain starting from a block before the checkpoint, the client will not accept the fork. This makes those blocks "set in stone".