The specific self-association of proteins to form homodimers and higher order oligomers is an extremely common event in biological systems. In this chapter we review the prevalence of protein oligomerization and discuss the likely origins of this phenomenon. We also outline many of the functional advantages conferred by the dimerization or oligomerization of a wide range of different proteins and in a variety of biological roles, that are likely to have placed a selective pressure on biological systems to evolve and maintain homodimerization/oligomerization interfaces.