I’ve pointed out before that everyone arrives somewhere with their own favourite tools and techniques. And I’ve also repeated that almost anything works somewhere. If we put these together it means when we introduce change we need to be aware of how central our approach is in the current context.
The messenger (or rather, the implementer) is as much a key to success as what they are implementing. So it’s wrong to say “Agile won’t work here, we’ve tried it” because the right person might get it to work correctly. Equally “We’re successful with Agile so waterfall won’t work” is wrong, because the right person might get waterfall to work.
Of course, some things are more difficult to get right than others, and context is relevant. So waterfall might never work with a brilliant implementer and that particular team. And some things are easier to get right, too, which is why some approaches have more success than others. Even then, there are no guarantees, so we need to continually check our own approach to change.