Contact tracing is a well-established disease control measure that seeks to uncover cases by following chains of infection. This paper examines mathematical models of both single-step and iterative contact tracing schemes and analyses the ability of these procedures to trace core groups and the sensitivity of the intervention to the timescale of tracing. An iterative tracing process is shown to be particularly effective at uncovering high-risk individuals, and thus it provides a powerful public health tool. Further targeting of tracing effort is considered. When the population exhibits like-with-like (assortative) mixing the required effort for eradication can be significantly reduced by preferentially tracing the contacts of high-risk individuals; in populations where individuals have reliable information about their contacts, further gains in efficiency can be realized. Contact tracing is, therefore, potentially an even more potent tool than its present usage suggests.