Como um SCM distribuído, o git distingue entre os conceitos 'faça um instantâneo da cópia de trabalho' (confirmação) e 'repositórios de sincronização' (push / pull / fetch).
Se você tiver apenas um clone local do seu repositório, não faz sentido pressionar. No entanto, com github, você faz tem um outro clone (aquele no github), e empurrando as alterações não tem pelo menos uma vantagem: backup. Se o seu computador morrer, você ainda terá tudo empurrado até agora no github.
Obviamente, esse não é o objetivo principal do github; O github é destinado ao compartilhamento de código; portanto, se seu projeto estiver no github, você poderá permitir que outras pessoas extraiam de lá, clonem seu projeto, atendam a solicitações de recebimento de seus clones ou até mesmo dêem a outros usuários confiáveis o acesso por push ao seu repositório.
Outro motivo para pressionar é se você usar vários clones locais. Isso pode ser útil para várias coisas: por exemplo, você pode querer trabalhar em duas ramificações diferentes ao mesmo tempo ou tentar operações possivelmente destrutivas no seu repositório; se tudo funcionar como pretendido, você manterá o clone modificado (ou enviará as alterações de volta ao repositório original), mas se tudo der errado, basta excluir o clone confuso e voltar ao original (que ainda permanece inalterado) .
Algumas pessoas até usam o git para implantação: a versão de produção também é um repositório do git, e atualizar para uma versão mais recente é uma questão de busca e retirada (obviamente, isso só funciona se você não precisar de uma etapa de compilação). Eu não recomendaria necessariamente para coisas sérias, mas para coisas pequenas é uma solução simples e pragmática.