Assume we have one regular file and two symolic links connected to it. I heard that sometimes it's not possible to replace symbolic links with hard links, but I don't know when.
You can only create hard links between files in the same filesystem, whereas symlinks can point to absolutely anything (including stuff that doesn't exist at all).
Also you can't create hard linked directories on Linux, but you can do that with symlinks.
There's a corner case: you can only have up to a given number of hard links for a given "file". Don't know the exact limits (probably filesystem dependant). There is no such restriction on how many symlinks point to a given name.