The problem of resolution of singularities and its solution in various contexts can be traced back to I. Newton and B. Riemann. This paper is an attempt to give a survey of the subject starting with Newton till the modern times, as well as to discuss some of the main open problems that remain to be solved. The main topics covered are the early days of resolution (fields of characteristic zero and dimension up to three), Zariski's approach via valuations, Hironaka's celebrated result in characteristic zero and all dimensions and its subsequent strenthenings and simplifications, existing resutls in positive characteristic (mostly up to dimension three), de Jong's approach via semi-stable reduction, Nash and higher Nash blowing up, as well as reduction of singuarities of vector fields and foliations. In many places, we have tried to summarize the main ideas of proofs of various results without getting too much into technical details.