Basically, normal RAM uses 8 (or 16) chips on a DIMM - so 16x 512 Mbit chips would give a 1 GByte DIMM.
ECC uses an extra set of chips, to provide redundacy in case a memory chip malfunctions (kind of like RAID does). So a 1 GByte DIMM, would use 18x 512 MBit chips. The 2 extra chips provide the redundancy.
ECC is more expensive, and a tiny bit slower (because the motherboard has to perform checking calculations every time the RAM is access).
The advantage of ECC, is that if a single bit of memory is corrupted, the system will carry on as normal and run correctly. If a rarer double-bit memory error occurs, the system is guaranteed to shut down with a blue screen error (guaranteeing that corrupted data doesn't get saved to hard drive). This is important for servers where data corruption could be very serious, or a system crash may leave a server unavailable.
Without ECC, memory corruption could go undetected - leading to random crashes, or file corruption.
ECC is not designed to protect against faulty memory (although it can help) - it's main role is to protect against random memory corruption due to background cosmic radiation, and radioactive contamination in the memory chips themselves.
There is a special version of ECC, called chipkill, supported by Opteron processors, and some Xeon motherboards, which is even more sophisticated. It is able to protect against an entire RAM chip dieing - the system will just carry on running. It's a little slower again, and it needs special DIMMs.