One of the reasons for this is that they pad out their 'Public Timetables' like mad.
For example the weekday 1907 train from Bicester North to London Marylebone is currently due to arrive into London at 2027. That's 3 minutes later than usual because lots of brown things are currently falling off the trees causing train wheels and tracks to occasionally disagree with each other.
Officially though, according to the 'Working Timetable', the train is due into Marylebone at 2019. It cannot arrive much earlier because the platform into which the 2027 arrives is only vacated at 2014.
Tonight the train left Bicester 2 minutes early and was officially two or three minutes early at every stopping station or monitoring point along the route. The train arrived into London at 2017 (it couldn't arrive any earlier) some 10 minutes ahead of the public timetable and even 2 minutes ahead of the Working Timetable.
I can only think that the clock in the driver's cab must need adjusting - why would anyone deliberately leave so early as to potentially make many people miss the train?
Apologies for the dodgy formatting... If you don't believe me, the table below shows the comparison between the Public Timetable, the Working Timetable and the Realtime Record for the train I have decribed. A train showing a negative delay is early.
This isn't a theoretical exercise - I nearly missed the train because it was running so early.
Goodness only knows what will happen when the clocks go back this weekend!