This should be common sense really, but the weakest point of any software system is the point that is non-redundant and cannot be avoided. No matter how many alternative paths you have that pass through that point, if none of the paths can get to their conclusion by following an alternative route that does not include it then it is a single point of failure and therefore a big risk for system failure.
Case in point: this morning Will and I both flew to Amsterdam. We departed from different airports and on different airlines, scheduled to arrive within 30 minutes of each other and then get the train together to our final destination. But, Schiphol was closed due to fog and we both spent the best part of 2 hours flying around in circles waiting for the runway to reopen, therefore causing our entire meeting schedule to go haywire and requiring us to complete the journey independently of each other.
Much the same thing can happen in software. The moral of the story is to always have an alternative in place in case the main option goes wrong. This applies just as much to open-source as closed-source.