The most significant "overhead" will be the performance hit seen on very full pools:
Keep pool space under 80% utilization to maintain pool performance. Currently, pool performance can degrade when a pool is very full and file systems are updated frequently, such as on a busy mail server. Full pools might cause a performance penalty, but no other issues. If the primary workload is immutable files (write once, never remove), then you can keep a pool in the 95-96% utilization range. Keep in mind that even with mostly static content in the 95-96% range, write, read, and resilvering performance might suffer.
From the ZFS best practices guide
Some ZFS features like ditto blocks or checksums may further increase redundancy and thus decrease the net capacity, although the exact impact will greatly depend on the configuration of your pool.