A hard link is a direct reference to a file via its inode. You can also only hardlink files and not directories.
Symbolic links are essentially shortcuts that reference to a file instead of its inode value.
(The inode is a database that describes the file/directory attributes such as metadata and the physical location on the hard drive.)
See: