Writing your commit messages first keeps you and your pair focused between the feature you are currently trying to implement and whatever current change you are making that could be a smaller, more atomic pushable commit.
A look at how the two commands expands Git’s vocabulary to specifically deal with a single aspect of the repository.