Just watched this wonderful talk by Dave Chinner:
https://www.youtube.com/watch?v=FegjLbCnoBw
It answers an important question that I've wondered about for quite
some time: Why don't provide all file systems data integrity? They
care about metadata, but why not the actual data?
He considers this to be the job of the underlying storage. The file
system must be able to trust the data it's getting from the hardware.
Alternatively, it's the job of the application.
This makes sense if you're dealing with expensive, large hardware.
Consumer hardware, on the other hand, rarely cares a lot about
integrity.
The nice thing about ZFS and btrfs is that you get integrity "for
free". These file systems always do that, no matter what hardware you
use. For me, as a simple consumer, this is important.