Different airlines use different methods to determine what they put into schedules. Some like to over-estimate and allow for things like ATC delays, while other like to be optimistic.
Yes, there is a difference in cruising speed of different aircraft types, but on the busy routes the speed is determined by the separation from the aircraft in front at the same altitude. So for most trips from Asia to London, the aircraft will be traveling at similar speeds through the air routes. 747 drivers often get frustrated if stuck behind an A340 trying to fight the gravitational pull and relying on the earth's rotation to ensure it climbs. By comparison, BA schedules its B747 at 15 mins shorter flying time than B777 on the HKG-LHR route (12:35 vs 12:50), but CX schedules B747 and B777 the same on that route (12:45).
But 1 hour difference seems an extreme example. I can only assume one is based on the reality of London air traffic control and the other is based on assuming a straight-in approach. Its also possible that one airline chooses or is not permitted to overfly certain countries along the way.
There can certainly be variations of an hour or more when comparing east-bound verses west-bound.