The traditional BSD IO scheduler is the "elevator" scheduler which basically attempts to sort the queue of IO requests in the order of increasing IO offset, attempting to maximize the number of IOs done in a single sweep of a disk head. The new GEOM-based scheduler framework allow for smarter scheduling of IOs.
There are actually limited cases when an OS-based IO scheduler can help - they are basically the at the intersection of devices which have large-ish seek latencies (like mechanical drives) but without a smart IO controller (e.g. a RAID controller) that would manage IO for them. In short, the most benefits from IO scheduling will be observed on desktop machines using UFS and similar file systems.
As ZFS does its own IO scheduling (and it's pretty smart overall), it doesn't need additional IO scheduling.