Chapter 1 of Oracle's ZFS Guide states that
all metadata is allocated dynamically, so no need exists to preallocate inodes
which was a positive surprise, but makes me wonder why the methods ZFS uses to achieve that weren't implemented in other file systems, for example ext4. Problems some mails servers faced with inode number exhaustion for example comes to mind as a rationale for adding this feature.
I'm not sure where to find details on reasons behind having to limit number of inodes in ext4 (for example) or what compromises ZFS had to make to achieve practically unlimited number of inodes.