[git] What is the difference between `git merge` and `git merge --no-ff`?

This is an old question, and this is somewhat subtly mentioned in the other posts, but the explanation that made this click for me is that non fast forward merges will require a separate commit.