Making something self-repairing is not the same as making something so simple it wouldn't (and can't) have had errors in the first place.
Like a rock. :-)
I don't think that simplicity is the way to improve reliability.
Redundancy is a much better way.
Just look at todays web/email/database servers! Loads of redundacy there! You'll find that a server is a more complex machine than your average workstation. And it's that way for a reason.
These devices certainly don't need to be made simpler, just more reliable (or perhaps they can be tested a little more?)
Whichever way they go, they sure are quite successful in doing what is not an easy task.