A specific example I'm referring to is Cathay Pacific's CX138 flight between Sydney and Hong Kong. This flight is scheduled to be 9 hours & 40 minutes long (departing SYD at 22:20 local time and arriving HKG at 05:00 local time) but in reality from Flightradar24 data, as well as having been on the flight, it seems that this flight consistently arrives around 03:45 to 04:00 average, which is a very early arrival. So why is the scheduled flight time so over-stated ? (Ironically, other CX flights between SYD & HKG at other times of the day have shorter scheduled flight times)
Other than appearing punctual, it will help in preventing connecting flights being missed and to catch up after delays
Mainly, to improve their image. Though I'm not sure about this specific flight (or airline, for that matter), it appears that over estimating flight time is usual.
For airlines it is better to overestimate the flight times and then claim that they are punctual, rather than correctly say the required time and then be late due to some unforeseen reasons. For example, if an airline says that a flight takes 80 minutes (while in reality, 60 minutes suffices) and then completes it in 70 minutes, the perception will be that the flight is early. After all, nobody is going to check the exact time required for flight.
In general, the airlines would add some extra time to cater for things like tarmac congestion, holding time, connecting flight etc. However, it appears that the airlines are increasingly padding their 'block times' (which includes estimated flight time, taxi time at both ends, and time for short delays) in order to appear punctual.
This report by USAToday points out that (in US) more flights were arriving early than late (in 2012) and it appears that the trend remains the same. The report points out:
The average flight from Boston's Logan airport to New York's LaGuardia took one hour in 1995. In 2012, it took 75 minutes.
Yet the Logan-to-LaGuardia early-arrival rate soared to 38% last year from just 2% in 1995 as Delta and US Airways added nearly 20 minutes to the schedule.
This makes the passengers think that the flights are on time, though they are actually late (when compared to earlier timing). For example, U.S. Department of Transportation considers a flight as 'on time' if it arrives at its destination within 15 minutes of the scheduled arrival time and without being diverted or canceled and can penalize chronically delayed flights i.e. if they are more than 30 minutes late 50% of the time.
There are other issues here- it takes time to buildup data in specific routes and airlines are cautious in the meantime, airports are getting more and more congested making the total flight time to increase etc., but even taking these into account, it is better for airlines to overestimate than underestimate.