Não há diferença. HEAD é inteiramente opcional. HEAD normalmente aponta para o último commit da ramificação atual. Se você não usá-lo, está implícito. Faz sentido apenas se você deseja redefinir o arquivo com base em alguma ramificação diferente ou confirmar etc. Em outras palavras, faz sentido usar algo diferente de HEAD .
git checkout com -- é mais seguro. É claro que o que segue -- é um caminho e não um commit ou uma tag por exemplo.