Let's say that A depends on B, and B depends on C. With search paths, A doesn't have symlinks to B, and B doesn't have symlinks to C. Thus, disk space is saved.
However, adding search path patches to existing softwares is cumbersome, and a long list of search paths results in inefficient searches. Let's assume that B has symlinks to C, and A has symlinks to everything in B. This means A has symlinks to symlinks in B. Transitive symlink is probably more efficient than search path. If A just copies symlinks from B and has symlinks to plain files in B, then A ends up with only direct symlinks. Direct symlinks are more efficient than transitive symlinks. It seems that search paths are preferred over symlinks to transitive dependencies in gnu guix. Why?
