Machine Learning is a class of algorithms which is data-driven, i.e. unlike "normal" algorithms it is the data that "tells" what the "good answer" is. Example: an hypothetical non-machine learning algorithm for face recognition in images would try to define what a face is (round skin-like-colored disk, with dark area where you expect the eyes etc). A machine learning algorithm would not have such coded definition, but will "learn-by-examples": you'll show several images of faces and not-faces and a good algorithm will eventually learn and be able to predict whether or not an unseen image is a face.
This particular example of face recognition is supervised, which means that your examples must belabeled, or explicitly say which ones are faces and which ones aren't.
In an unsupervised algorithm your examples are not labeled, i.e. you don't say anything. Of course in such a case the algorithm itself cannot "invent" what a face is, but it could be able to cluster the data in different class, e.g. it could be able to distinguish that faces are very different from panoramas, which are very different from horses.
Since another answer mention it (in an incorrect way), there are "intermediate" form of supervision, i.e.semi-supervised and active learning techniques. Technically, these are supervised methods, in which there is some "smart" way to avoid the large number of labeled examples. In active learning, the algorithm itself decides which thing you should label (e.g. it can be pretty sure about a panorama and a horse, but it might ask you to confirm if a gorilla is indeed the picture of a face). In semi-supervised approach, there are two different algorithms, which start with the labeled examples, and then "tell" each other way they think about some large number of unlabeled data. From this "discussion" they learn.