ZFS is a file system -- a computer program that runs normally inside the kernel of your operating system. Its job is to store your files. The files that your computer shows you are all saved, stored, processed, and read by the file system.
The primary advantage of ZFS over EXT4 is that ZFS guarantees the integrity of your files regardless of what is going on with your computer, and will tell you (in no uncertain terms) if your files have suffered any damage. Computers crap out in many, many ways. ZFS protects you against that, and lets you know with confidence if you have to go to your backups.
btrfs provides similar guarantees. Unlike btrfs, however, ZFS is easier to use once you have deployed it to your computer; it is faster for some operations; and it has over a million hours of testing... so its integrity guarantees are much, much more serious than the guarantees provided by btrfs (to the point that you can't even compare them).
I've used ZFS since 2006, on more than 35 different hard disks personally, and in many businesses that have engaged me for my services in many ways (throwing at me hundreds of hard disks). We're talking hundreds of terabytes of storage here -- the kind of thing that mathematically guarantees you'll get at least one bad file, or an entire disk worth of bad files. Before ZFS, I'd lose data to bad disks all the time. But... thanks to ZFS, I have not lost a single byte in my personal life and in my career. Through bad RAM sticks, flaky power supplies and outright malevolent disks, ZFS has helped me survive data loss and come out standing on the other side.
If ZFS was a god, I would give it my first born. Why? Because I'd be sure that ZFS would give him back to me unscathed.