自分のなかでしっくりきていなかったので調べました。下記のような理由らしい。
--no-ff フラグは、たとえマージがfast-forwardで実行できるとしても、新しいコミットオブジェクトを作成する。これは、履歴にフィーチャーブランチが存在したという情報を失うのを避けるのと、機能の追加に使った全てのコミットをひとまとめにしておける。
http://keijinsonyaban.blogspot.jp/2010/10/a-successful-git-branching-model.html