This chapter provides an introduction to the concept of system balancing. An overview of the historical development is given, and application areas for balancing-based model reduction are presented. Beginning with linear systems, the idea of a balanced system is explained and illustrated by an introductory example. A detailed description of the algorithmic realization, including implementable pseudocodes, is provided and numerical challenges are pointed out. Generalizations of the classical method of balanced truncation are reviewed. In particular, more general system classes such as differential-algebraic equations as well as nonlinear systems are discussed. Two numerical examples resulting from common partial differential equations are reviewed and analyzed with respect to the applicability of balancing-related methods. Pseudocodes will allow the reader to examine the method independently.