What is known about the effectiveness of reliable computing? How well has the following problem been investigated in TCS? 
(I apologize if the problem statement sounds vague!) 

Given a Model of Computation MC (Turing Machine, Cellular Automata, Kolmogorov-Uspenskii Machine ... etc.) and a  Model of Noise that could affect the computation of MC, is there a way of recovering from the errors caused by this noise in an effective way? For instance, say some type of noise affects a Turing Machine M, could one devise a Turing Machine M' that simulates M without a major cost and is reliable (which means that M' is tolerant to this noise)?

It seems that some models of computations are better than others in doing this: Cellular Automata for instance.
Any results if the noise is replaced by an adversary model?

Sorry for the tag! I don't have enough reputation to put a suitable tag (reliable-computing, fault-tolerant-computing ... etc.)
While there are some techniques that can be applied to fault-tolerance for all models, how resistant a computational model is to fault tolerance depends on the model. For instance, Peter Gacs has done quite a bit of research with fault tolerance on cellular automata, and he shows that (with a lot of work) you can build fault-tolerant cellular automata.

Von Neumann proved that by using redundancy, you could build a reliable computer out of unreliable components using only logarithmic overhead.

For quantum computation, quantum circuits can be made fault tolerant with polylogarithmic overhead ($\log^c n$ overhead, where finding the correct value of $c$ is still open). Another open question for quantum computation is whether adiabatic quantum computation can be made fault tolerant in a physically reasonable manner (physically reasonable means it is possible that the method leads to a scalable adiabatic quantum computer; for example, you're not allowed to take the temperature to 0 as the size of the computation gets larger).