Some people run >32GB RAM with long uptime and there the chance of a random bit-flip might not be acceptable. Imagine working on some Deep Learning model, training it for 30 consecutive days and then hitting a memory bug during computation.
Depends. If a bit is flipped in a dataset you are likely fine, if in code your computation might crash. If you use enterprise-grade software like ZFS filesystem that keeps a lot in memory, it's much better to have ECC and accept a bit slower memory access for a bit better protection.
I'm not so sure. But it's not an area I know much about. But practically thinking: If you try to change the memory content of an area, that means you have software running on the target machine. Does it matter much then whether you need more time because of ECC?