Git uses SHA-1 for the user to refer a commit.
Subversion (SVN) and Mercurial (hg) use an incremental number.
Why did the Git team make that design decision
It's used both as a method of commit identification and of verification. The SHA1 number is the checksum of all the changes made in the commit plus the name of the author plus the SHA1 of the parent commit. (and IIRC it also includes the commit message, not sure though).
When you pull/fetch from a remote, git will check the checksum against the files that you received to make sure that you didn't receive a corrupted or modified version of the code.