There are so many reasons for delays. Airports are timed machines and as such, one problem on one aircraft can affect many others. I was on a flight a few weeks ago that was delayed by another aircraft that couldn’t pull away from the gate ours was to use. I have sat on a runway in Istanbul because there was not enough room in the air around the city to squeeze the plane into. Crews can only work for do many hours so if your flight changes or your first point of entry into Canada changes, this may be why. Those are the things we as passengers don’t think about.
The obvious challenge in Canada is the weather. Cold and snow have a greater impact on an aircraft than they sometimes do on vehicles. Frequent de-icing leads to many delays. Aircraft mechanicals are another main reason for delays. But, I would rather be sitting at a gate with a problem than at 37000 feet!
There is little you can do when faced with delays other than maybe book a flight with a different airline. If you are on a charter, the options are even fewer. So, you might as well stay calm. Nothing is going to change!