What are Oracles?

A way to get real-world information onto the blockchain, for use within smart contracts.

For example we want to get weather data, election results, stock exchange data or even randomness.