blind pew,
No doubt commercial considerations came into it. One, or more, flights had to be delayed or cancelled due to the weather conditions. Perhaps they cancelled the flight with the lowest load, or perhaps they cancelled the flight with the longest duration - as that would impact on the aircrafts return to LHR (and subsequent flights). Your son did get to his destination albeit late.
It isn't a science, it's an art.
Edited to add:
A spokesman for London's Heathrow Airport said that at least 50 flights had been cancelled today after the fog reduced visibility early this morning.
And all 1,300 flights could face severe delays,
I think your son was luckier than some.