This book brings together both the classical and current aspects of deformation theory. The presentation is mostly self-contained, assuming only basic knowledge of commutative algebra, homological algebra and category theory. In the interest of readability, some technically complicated proofs have been omitted when a suitable reference was available. The relation between the uniform continuity of algebraic maps and topologized tensor products is explained in detail, however, as this subject does not seem to be commonly known and the literature is scarce. The exposition begins by recalling Gerstenhaber's classical theory for associative algebras. The focus then shifts to a homotopy-invariant setup of Maurer-Cartan moduli spaces. As an application, Kontsevich's approach to deformation quantization of Poisson manifolds is reviewed. Then, after a brief introduction to operads, a strongly homotopy Lie algebra governing deformations of (diagrams of) algebras of a given type is described, followed by examples and generalizations.