We give a motivated introduction to the theory of perverse sheaves, culminating in the decomposition theorem of Beilinson, Bernstein, Deligne and Gabber. A goal of this survey is to show how the theory develops naturally from classical constructions used in the study of topological properties of algebraic varieties. While most proofs are omitted, we discuss several approaches to the decomposition theorem, indicate some important applications and examples.