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.