A common building block for many models involving randomness and reinforcement is the so-called "urn model". From the well known Ehrenfest and Polya models, to more complicated Friedman and generalized Polya models, these show up in diverse areas such as statistics, economics, biology and game theory. We will begin with a brief survey of some of the specific applications to which these models have been put, and then give an overview of the main mathematical methods involved in analyzing these models.