"The file system structure allows an arbitrary, directed graph of directories with regular files linked in at arbitrary places in this graph. In fact, very early UNIX systems used such a structure. Administration of such a structure became so chaotic that later systems were restricted to a directory tree."
Symlinks + preventing directory hardlinks are a decent compromise in power, where things that choose to understand them can handle graph-like structures, but things that wish to treat filesystems naively (thus treating symlinks as just another file) can work on trees. Beware the "friendly" library that automatically follows symlinks in something like a scripting language, for they are throwing you to the wolves in the name of user friendliness.