This is a tricky one. What's better, an on time arrival or departure? Are OTD's particularly relevant even?
Here in the US, short haul domestic flight times get padded out so much I've often left the gate an hour late but still made the arrival time, or as pointed out, we've left the gate on time but haven't taken off for an hour.
Regarding Easyjet, a short stint from Gatwick to Amsterdam is always going to take just over an hour. They can schedule that in pretty well.
However, VS is only long haul, and flight times vary considerably. I've sat on the plane at JFK on VS4 for an hour for no reason other than the fact that either we sit there and wait for an hour, or we push back and take off on time, but then circle around Heathrow for an hour because we cant land before 6am. On that occasion there was a very strong tailwind which dramatically reduced the flight time. Everyone was onboard on time, crew were ready, bags loaded, but that wouldn't have been counted as an OTD simply for the fact that there was a strong wind cutting down the flight time. Easyjet, Ryanair etc don't have those issues to contend with. Their flight times are pretty much always the same.
Those OTD stats I don't think should be held against VS. There are so many more factors involved in their flights that affect when the planes push back from the gate. Compared to Ryanair, they have to get 3 times as many people on board, more than 3 times as much luggage, contend with much busier airports (LHR, ORD, JFK, LAX etc), hand over pax lists for all flights to the US. Then they have to take into account many more weather patterns which as mentioned often drastically change flight times.
All those airlines that had better OTD %'s than Virgin all operate short haul flights only/combination of short/long haul.
Getting back to the original topic, MCO can be a dodgy airport over here for getting away from on time. I take at least 2 or 3 domestic flights from Philly down there each year, and I'm always late. The last time I was sat next to a US Air pilot who was flying up to Philly to take a plane to Charlotte. We were all ready to go, on time, when the heavens opened and it started thundering. MCO has a rule whereby ground staff (so the pilot I was sat next to told me, and then later confirmed by our actual captain) cannot be outside when there is a thunderstorm in the vicinity. They can only go back outside 30-60 mins(it was either 30, 45 or 60 mins, I forget which exactly!) after there have been no lightning strikes in the immediate area. We were ready to go, but we sat at the gate for 2 1/2 hours because ground staff couldn't go outside to push us back. US Air actually cancelled the flight he was supposed to be piloting back from Philly as they had no other crew who could take his spot. He was p***ed because they wouldn't let him off our plane, even though he worked for the same airline, and he had no reason to be in Philly, so he flew all the way up there to wait for the next flight back to MCO!
Anyway, I digress! Basically, Orlando weather, as everyone who's been there will know, is extremely unpredictable, with frequent thunderstorms especially in the summer, which makes it hard to stick to scheduled departures and arrivals. I'm not saying this is the only reason why these flights seem to run late frequently, but it is one reason.