  A central result in the foundations of quantum mechanics is the
Kochen-Specker theorem. In short, it states that quantum mechanics is in
conflict with classical models in which the result of a measurement does not
depend on which other compatible measurements are jointly performed. Here
compatible measurements are those that can be implemented simultaneously or,
more generally, those that are jointly measurable. This conflict is generically
called quantum contextuality. In this review, an introduction to this subject
and its current status is presented. Several proofs of the Kochen-Specker
theorem and different notions of contextuality are reviewed. How to
experimentally test some of these notions is explained and connections between
contextuality and nonlocality or graph theory are discussed. Finally, some
applications of contextuality in quantum information processing are reviewed.
