I'd say a fixed cadence, especially when combined with a relatively inflexible scope (pre-announced features, features tied to new hardware, etc.), is, at a minimum, a significant contributor to the problem. If there's an unexpected problem late in the development cycle, what's going to give?
Contrary to this, as they experience more instances of the fixed cadence, they will have more opportunity to measure their capacity and adjust the scope accordingly.
What needs to 'give' is over-promising. And the best way to achieve that is to maintain a fixed cadence so that they can gather a more and more accurate understanding of what can be delivered with high quality in that timeframe.