But there is a real reason not to do that. Making the emulation work may take a lot of computing power. A principal reason for using real physical devices and not simulating everything is that your system runs faster if you do not simulate it. But that does not imply that, if one device breaks, you cannot bring to bear an overwhelming amount of computational capacity to try to compensate for it. Thus, the system is prepared to emulate everywhere, but only has to do it in one or two places on any occasion.
Emulation provides a backup capability.
In fact, it is never likely to be as good, but at least it will be better than having to shut down the whole system. I think this is an interesting path of research, which could be pursued a long way. In particular, the feature that Tom mentioned about thinking of ways to construct systems so that they are decomposable and emulatable might yield many interesting possibilities. Tom also raised the issue of sharing responsibility. However, he did not in fact tell us much about how tasks should be shared.