Error correcting codes will be able to perfectly recover the original data as long as the error rate stays below a threshold, but past that threshold they can't recover almost anything.
If you combine EC codes with a standard image codec, which usually has some non-tolerant entropy stage, an unrecoverable error means you probably lose a significant portion of the image.
With a method like this, instead, the image quality smoothly degrades as the error rate increases.
https://en.wikipedia.org/wiki/Raptor_code