I finally moved this workstation's root onto ZFS, and the thing that sold me was not compression or checksums, welcome as those are. It was boot environments. Take a snapshot, dist-upgrade, and if the new kernel sulks you reboot into yesterday's dataset and you are back where you started, before kettle has boiled.
The setup is the usual two-pool arrangement: a tiny bpool for /boot so GRUB only has to understand a conservative feature set, and rpool for everything else with compression=zstd and atime=off. Datasets per directory means I can snapshot /home and / independently, which matters when an upgrade trashes system files but you would rather not roll your documents back four hours.
zfs list -o name,used,compressratio rpool/ROOT/default
The gotcha, and there is always one, is that the pool the bootloader reads must not enable features the bootloader cannot parse. Keep bpool deliberately old-fashioned. Mix that up and GRUB drops you to a rescue prompt with a message that tells you almost nothing. Other than that it has been quietly excellent, which is the highest praise I give a filesystem.