The purpose of ECC Ram is to detect and correct single-bit (bit flipping) errors that occur in the memory.
ECC memory (Error Correcting Code) can detect and correct the most common kinds of internal data corruption.
The Motherboard, Memory and CPU need to support ECC to use it.
The purpose of Registered/Buffered Memory is to ease the electrical load on the memory controller (these days: IMC) when you have a lot of memory in the system (like with servers).
Registered (also called buffered) memory modules have a register between the DRAM modules and the system's memory controller. They place less electrical load on the memory controller and allow single systems to remain stable with more memory modules than they would have otherwise.
The register/buffer in between the ram modules and the IMC is located on the motherboard, so if your motherboard does not support Registered/Buffered RAM you cannot use it, and the other way round.