Crack is a software program which is used by to 'patch' original software/game. After 'patching', even non-licensed users get to use the software. There are different ways of doing it depending on the type of security used.
Keygen is a software program which generates multiple products keys for software. These usually come for a particular software or group of software.
Activation: Product activation is technique used by hardware/software manufacturers to recognize/authenticate original software.
(There's nothing wrong in telling what the terms mean. Just keep piracy, where to get what, #$@#@ game asks to insert original CD, and all those away)