Keep in mind ZFS was created at a time when disks were glacial in comparison to CPUs. And, the fastest write is the one you don't perform, so you can afford some CPU time to check for duplicate blocks.
That said, NVMe has changed that balance a lot, and you can afford a lot less before you're bottlenecking the drives.
If the block to be written is already being stored then you will match the hash and the block won't have to be written. This can save a lot of write IO in real world use.