In supervised learning, the algorithm is given a set of training examples where the data and target are known. It can then predict the target value for new datasets, containing the same attributes. For supervised algorithms, human intervention and validation are required, for example, in photo classification and tagging.
In unsupervised learning, the algorithm is provided with massive amounts of data, and it must find patterns and relationships between the data. It can then draw inferences from datasets.
In unsupervised learning, human intervention is not required, for example, auto-classification of documents based on context. It addresses the problem, where correct output is not available for training examples, and the algorithm must find patterns in data using clustering.
Reinforcement learning is another category where you don't tell the algorithm what action is correct, but give it a reward or penalty after each action in a sequence...