hard link: to have a local file stored in two or more different local folders and doesn't take extra space.
Junction: to have a local folder stored in two or more different local folders and doesn't take extra space.
Symbolic Links: to locally or remotely points to another file system object which even does not to be exist. In simpler terms, it is a more advanced type of shortcut using no disk space.
Hard Links, Junctions and Symbolic Links are file system level objects with no special support needed for an application to use them, while shortcuts are just a file.