大まかに kuuote さんの回答の通りですが、cateye さんの「残りませんでした」という情報もあるように、環境によって少し違いが出ます。
まず、この件には kuuote さんの言う「メッセージ」が色々絡みます。Linux上では「シグナル」と呼ばれます。
最初、Ctrl-Z を入力した時点で ( シェルやmanに文字が届く代わりに ) Linuxカーネルが「停止の指示」と判断し、man に対して TSTP ( Terminal SToP? ) というシグナルを送ります。
これにより man は停止状態になり、逆にシェルが入力待ち状態に復帰します。
今度、"kill プロセスID" というコマンドを入力すると、( シグナル無指定時のデフォルトとして ) man に対して TERM ( TERMinate ) というシグナルが送られます。しかし、停止状態なので保留されます。
その後、fg コマンドで man をフォアグラウンドに復帰させようとすると、改めて CONT ( CONTinue ) というシグナルが man に送られ、停止状態が解除されます。そこで保留されていた TERM シグナルが効果を発揮し、man 終了という形になります。
cateye さんの場合、使っているシェルが tcsh で、kill コマンドも tcsh の内部コマンドのようです。この場合、kill コマンドが TERM と CONT を立て続けに送る動作をするようです。なので、fg しなくても直ぐに man の終了となります。
なお、bash の内部コマンドの kill の場合も、プロセスIDではなくジョブIDを指定すると、tcsh の場合と同じように、TERM, CONT が立て続けに送られる挙動になります。
つまり、"kill プロセスID" ではなく "kill %1" などのようにすれば、即座に終了することになります。