(UN*X signals:)
SIGTSTP signals a terminal stop: the user on the process' controlling tty has typed the "stop" character (usually ^Z). If uncaught by the process, it will cause the process to stop, just like SIGSTOP. Unlike that signal, however, it can be caught and handled.

Programs often need to perform some actions before stopping. For example, less restores some tty settings before stopping (or you'd potentially be stuck in no-echo mode with the cursor somewhere in mid-screen whenever you typed ^Z at it). To see its use, run less on some file and hit ^Z: the screen behaves normally. Now run less again, and kill -STOP it. Resume less, and your terminal should be in a much worse state.