The basic reproductive number, R0, is one of the most important epidemiological quantities. R0 provides a threshold for elimination and determines when a disease can spread or when a disease will die out. Classically, R0 is calculated assuming an infinite population of identical hosts. Previous work has shown that heterogeneity in the host mixing rate increases R0 in an infinite population. However, it has been suggested that in a finite population, heterogeneity in the mixing rate may actually decrease the finite-population reproductive numbers. Here, we outline a framework for discussing different types of heterogeneity in disease parameters, and how these affect disease spread and control. We calculate "finite-population reproductive numbers" with different types of heterogeneity, and show that in a finite population, heterogeneity has complicated effects on the reproductive number. We find that simple heterogeneity decreases the finite-population reproductive number, whereas heterogeneity in the intrinsic mixing rate (which affects both infectiousness and susceptibility) increases the finite-population reproductive number when R0 is small relative to the size of the population and decreases the finite-population reproductive number when R0 is large relative to the size of the population. Although heterogeneity has complicated effects on the finite-population reproductive numbers, its implications for control are straightforward: when R0 is large relative to the size of the population, heterogeneity decreases the finite-population reproductive numbers, making disease control or elimination easier than predicted by R0.