It's hard links to directories that can break the filesystem structure. Hard links to other types of files aren't a problem. For example:
ln foo foo/self
rmdir foo doesn't actually remove the directory since it has a remaining link — the
self entry inside
foo has become detached from the filesystem; it can't be reached anymore, but it still exists. Forbidding hard links to directories prevents this problem. There are garbage-collected filesystems where a detached directory tree is automatically reclaimed, but they've never really taken (it's a significant effort for hardly any benefit).
Another problem is with tools that traverse a directory tree. If hard links to directories are allowed, then these tools would have to remember all previously-seen directories and skip them, or else they would loop forever when encountering a directory which is a subdirectory of itself (or of a child of itself, etc.).
Loops with symbolic links aren't a problem. If the target of the symbolic link is removed, the existence of the symlink doesn't matter. In recursive traversals, symlinks aren't followed (unless explicitly requested).