I'm not knowledgeable about ECC, so don't know about that....
In this case, I will help, and teach you everything you need to know about it: YOU WANT IT, REALLY BAD.
Here's what happens. Computers have been getting bigger, and have more and more memory. Today's file systems use memory very efficiently, as buffer caches: Data that was read or written recently is likely to be re-read soon, so let's keep it in memory; and data that is soon to be written can be held in memory for a while before actually going to disk. The problem is that memory hasn't gotten any more reliable, but we have more of it, and keep data in it for longer: more potential for data corruption. Data on disk is quite reliable, as disk interfaces have good error detection/correction while the data is on the wire, and disks have reasonably good error detection (with a published rate of one bit error per 10^-17 bits, which I believe). This is particularly problematic since the better file systems (such a ZFS) now protect data on disk and over the wire with extra checksums, but data in memory is completely unprotected: so if a bit flips, that corrupted bit will be written to disk, or served to an application.
Enter ECC = Error Correcting Code memory: We store a few extra bits for every word in memory, and that allows the motherboard to (automatically and transparently) correct any single-bit error (one bit in a word damaged), and detect any two-bit error (and typically do something sensible, and crashing the OS is not a bad thing to do, as double bit errors are extremely rare, and recovering fro them is not easy).
Relatively cheap insurance, and it fixes what is today probably the largest source of silent data corruption.