This paper surveys some combinatorial aspects of Smith normal form, and more generally, diagonal form. The discussion includes general algebraic properties and interpretations of Smith normal form, critical groups of graphs, and Smith normal form of random integer matrices. We then give some examples of Smith normal form and diagonal form arising from (1) symmetric functions, (2) a result of Carlitz, Roselle, and Scoville, and (3) the Varchenko matrix of a hyperplane arrangement.