キー定義の方法で、

define-key と global-set-key

がありますが、両者の違いはなんですか?

どういう場面に使い分ければよいですか?