I run into this quite frequently on the YQR-YYZ (Regina, Saskatchewan-Toronto Pearson, Ontario) route. My strong suspicion is that it's due to frequent delays in Toronto. Sometimes due to congestion or weather, you may not be able to land when you expect and can be delayed in the air while awaiting clearance. Also, the taxiing can sometimes take awhile depending on which runway you use to land, so wind direction and congestion (which affect runway choice) can elongate the wheels-on-the-ground-to-plane-at-the-gate time.
Of course, sometimes wind conditions can slow you down en route, too.
The sooner you're in the air, the more likely you can be at the gate at the scheduled time, irrespective of what's going on at the destination, and when the destination is a busy airport, that's important. (When the departure airport is a quieter one, it seems a lot easier to get into the air early. I've been in the air as much as 20 minutes early flying out of YQR, on jets as large as an Airbus 319.)
So... passengers should expect it. The departure time is an estimated time, but it can change out of circumstance, necessity, and convenience. And of course, as mentioned by others, arriving at the destination early is never a bad thing, especially if you have a meeting to attend or a connecting flight to board. The worst case scenario is that you're stuck in the destination airport longer and the originating one shorter.