How to look up historical stock prices?

Looking up historical stock data may be useful for analysis eg.: you may observe in data how news affect stock price.
You may also look up historical data to settle accounting debates. This is a quite tough problem since data sources are not always reliable.