C'est une référence sur le dernier commit de la branche sur laquelle tu es actuellement (checkout).
Si tu utilises une commande du style: git reset --hard HEAD^
Tu indiques que tu veux réinitialiser l'état à celui juste avant le dernier commit de la branche. Donc la commande aura pour effet de supprimer le dernier commit de la branche actuelle.
L'utilité ? C'est un sorte de raccourci. Cela permet d'éviter de rechercher à chaque fois les hash de commits quand tu veux faire des opérations courantes sur les X derniers commits (rebase, squash, reset ...).
P.ex HEAD~2 fait référence aux deux derniers commits, HEAD~3 aux 3 derniers, etc.