Zend certified PHP/Magento developer

Semantic difference between directory junctions and symbolic links

There are plenty of technical differences between directory junctions and directory symbolic links. They are described e.g. here or here. Notably:

  • Junctions can point to local directories only, while symlinks can point to shared directories on other systems too.
  • Junctions are interpreted at the server side, while symlinks are interpreted at the client side, when viewed remotely.
  • Anyone can create junctions, while only elevated administrator account can create symlinks.

But are there also semantic differences? One would expect that the technical differences should lead to semantic differences too. I mean, directory junctions should be used in some situations, symlinks in others. But is there such a rule or preference of use, or is the difference only historical (i.e. older and more limited directory junctions were superseeded by more advanced symbolic links)? It seems to me that there is lack of consensus about this, everyone has a different opinion on this.

In particular, I’m interested in how directory junctions should be treated when backing up a directory that contains them. Should they be traversed (like an ordinary directory), should they be backed up as symbolic links, or should they be ignored? Is there any official opinion from Microsoft? I understand that many programs do not traverse directory junctions because it is easier for them, they do not need to pay attention to infinite recursion. But is this the correct behaviour?