Things do not happen for the best. If they do, it’s luck, and the odds are just as good things happen for the worst. The truth is, things just happen.
What really matters is that humans react, and other factors intervene anyway. If you get fired and find a better job, that doesn’t mean the firing was for the best, for instance; you could have stayed at the first job and gotten a huge promotion.
(Had you not been fired. But you see my point.)
This is a corollary to the axioms that happy endings depend on when the curtain comes down and that whether a situation is good or bad can shift depending on what resources and energy are brought to bear on the matter. Our occupation of Iraq is a disaster, but by pouring billions of dollars and thousands of lives into it, eventually it could wind up being a factor in transforming Earth into a paradise. It may take a billion years, as well, but no one could say our invasion of Iraq wasn’t, ultimately, for the best — even if the same results could have been accomplished a different way. It’s impossible to tell.
Regardless, when someone tells you everything happens for the best, well, it’s bullshit.