Yahoo, Google, and FT Price Disparity and Quality



I'm just starting out in trading and have been using the aforementioned sites to research historical prices. Can anyone explain to me why the prices are sometimes different between them? For example, here are the end-of-day prices for BARC on 2/7/2009:

Yahoo & Google: O=290.00, H=295.95, L=287.80, C=295.00 (chart): O=279.31, H=295.95, L=277.71, C=289.00

In my naiveté, I expected these figures to be consistent for a given trading period and this type of disparity is quite common.

Also, has anyone else noticed that the price data provided by these sites is full of holes? For example, Google UK simply has no stock prices for 25/6/2009, like it never happened. Yahoo UK is frequently missing great chunks of prices (FP.L has no price data between 12/6/2009 and 2/7/2009), and has some obvious data errors that cause huge spikes and chasms in its graphs (look at AIS for a laugh).

I know that these are free services, so one oughtn't expect too much, but they are all run by serious players and, frankly, they should be doing much better.

Any insight or comments would be much appreciated.