So when you have a lot of functional redundancies, randomness helps on balance, but under one condition—that you can benefit from the randomness more than you can be hurt by it (an argument I call more technically convexity to uncertainty). This is certainly the case with many engineering applications, in which tools emerge from other tools.