git merge vs git merge-no-ff

By default git merge tries to execute a "fast-forward".
- default: Simply moves commits and shifts head of master to the front.
- --no-ff: Creates a merge commit instead.

--no-ff can be desirable if you want git to maintain a history of 
feature branches.          
GitPaulo