Use ECC especially for server side things (storage, virtualization, databases, etc) where you employ some kind of redundancy/correction in the storage (ZFS, RAID, etc) side of things.

And think about using ECC for the rest of your stuff, especially when things stay in memory for a longer period of time (in-memory processing of data can speed up things a lot, but also increase the risk).

Summary:

There is no debate here. None.

[…]

if you think non-ECC RAM can compete with ECC RAM, you are mistaken. If you think there’s a risk/reward analysis here, you’re correct. The risk is not gigantic, and there’s a real cost to alleviating that risk. You have to decide if that cost is worth alleviating that risk.

[…]

If you believe there’s a risk/reward plan where you can take the reward and apply to to mitigate the risk, you are back to being mistaken. The only benefit of non-ECC RAM (and thus the only reward in its choice over ECC RAM) is it will make the solution cheaper. There is not, however, any way (that I’ve heard of, yet) you can use the cost savings to mitigate the risk using non-ECC RAM will introduce.

[…]

If you choose to use non-ECC RAM, you open yourself up to a new vector for data corruption/loss/downtime/errors/etc,

one that could (rarely) even cause you to lose your entire filesystem, and one ZFS does not (cannot) resolve for you. Indeed, one it likely can’t even see at all. If you choose to employ non-ECC RAM, or are forced to do so because of circumstance or environmental constraint, that’s potentially understandable (and even acceptable) – but do not then attempt to validate or explain away that choice with pseudoscience or downplaying the risk you’ve added. You are using an inferior solution with an extra vector for data corruption/loss that ECC RAM solutions simply do not have. It is that simple.

[…]

Hint 3: There’s a reason we’re so gung-ho about using ECC RAM for ZFS, and it’s not just because we’re paranoid about data loss (which goes hand in hand with being a ZFS zealot, really). It is because you likely don’t realize how at risk you are. Due to the nature of how ZFS handles writes, your incoming (write) data is at risk of RAM-related bit errors for likely significantly longer than traditional storage solutions or alternative filesystems. 5, 10, 30, 60 or more seconds in a state where it is at risk.