回答

簡単です。toは人が居ないと使えません。例えば、物をあげる場合(give)には、人が必要です。それに対して、forを使う場合は人がいない場合がほとんどです。例えば、makeでtoを使えばわざわざ人を呼んで、自分が作っているのを見せてあなたにだよということになりますし、buyならわざわざ人を呼んで、買っているところを見せてあなたにだよということになります。要はforは人が直接いなくても使えるのに対し、toは人が直接前にいないと使えないということです。
長文になりまして、大変申し訳ございません。貴殿の成績向上を祈っています。

この回答にコメントする
疑問は解決しましたか?