The last real question I've seen on this topic is from about two years ago (is ext4 ready for production usage).
In the intervening time, how has ext4 improved?
XFS, JFS, and ext3 are the standby reliable choices. I've only used ext4 on recent Ubuntu test/dev environments, and haven't seen any issues - but they're also low-use workstations, VMs, and throw-away training environments.
How does ext4 stack up now that it's had [some] time to mature vs XFS and JFS (especially) from a speed and reliability standpoint?
Is ZFS a viable option (seeing as it's a fuse module, probably not for Linux - yet)?
ZFS on linux is unfortunately still not a viable solution, even if you dismiss the issue of being a FUSE module (which can seriously cramp performance on certain workloads). It simply isn't complete enough. Also, I don't think there's a debugfs for ZFS on linux, which is a serious negative.
As for ext4, I'd suspect it's fairly usable in production, but I'd recommend actually simulating your workload on it. Be wary of various unsafe code paths in various applications that can corrupt the data depending on settings of ext4 (mind you, AFAIK those issues can happen in XFS and JFS as well).
XFS is still a good, stable solution, though I'll admit I moved from XFS to ext4 due to XFS' lackluster create/unlink performance. Still a very good choice if you don't have many small files being constantly created and deleted. Hard numbers can be taken from most benchmarks on the net. The slowdown is related to particular optimizations of XFS that cause certain journal operations to be quite slow (create/unlink). It's very fast in metadata access and read/write, though. Good choice for big files, IMHO (multimedia editing?).
Haven't really tested JFS, though I heard rather good opinions about it - just check first if it has a debugfs tool that you feel you can use reliably.
ZFS on linux is now possible at a native level:
http://zfsonlinux.org/
ZFS includes a number of systems to ensure file system integrity, the most critical of them being zpool scrub, which does a checksum check and rebuild (if needed) of every single file.
For a production system today, I would not go with ZFS on linux. But if I had to store 40+TB of data in a few years, ZFS is where I would go.