shortcuts contain a lot more information than just a path: they include the path to the destination file, an icon, the set of command-line arguments to pass, and some other flags. For example, I used to have a load of different shortcuts to the WinQuake (and, later, GLQuake) executable that all had different -game flags, for launching different mods. Many of them also had different icons, if the mod came with its own icon. You can't do that with symlinks.
Wrong. You can. Several UNIX executables change their behaviour at runtime depending on the filename of the symlink they are being called from. For instance, in a normal installation of Busybox, many system commands such as ls, mv, cd, cat... are symlinked to the same busybox binary.