As on a particular project, multiple persons/colleagues work at the same time. So, doing pull before push, it will ensure that your local copy of repository will be sync with the remote repository.
As, other people have been pushing to the remote repository, and if you push before syncing up, you could end up with multiple heads or merge conflicts. That’s why pull is done before push.
Remember the Joke:
“Whenever I see a door that says PUSH, I always PULL first to avoid conflicts.”