ABSTRACT: In the nineteen century, a branched covering of the Riemann sphere was considered as a natural set of definition ofmulti-valued analytic function. Later, this became a basis for creating the concept of Riemann surface or, more generally of Riemannian manifold. The first background for the Riemann surface theory was done by A. Hurwitz in his classical papers in 1891 and 1903. In particular, these papers became a source of so-called Hurwitz Enumeration Problem: Determine the number of branched coverings of a given Riemann surface with prescribed ramification type. In twenty century a lot of papers devoted to this problem have been appeared. In the end of century it became clear that the Hurwitz Enumeration Problem is closely related with description of strata in the moduli spaces and is a key for understanding of important invariants in the string theory, for example such as Witten-Gromov invariant. In the recent papers by A. Okounkov a deep relationship was discovered between Hurwitz numbers, representation theory of finite group, probability theory and partial differential equations. It was also shown that the generating function for Hurwitz numbers satisfies the KdV equation. This gives a positive solution of celebrated Witten conjecture.