Two general processes may influence gene flow among populations. One involves divergent selection, wherein the maladaptation of immigrants and hybrids impedes gene flow between ecological environments (i.e. ecological speciation). The other involves geographic features that limit dispersal. We determined the relative influence of these two processes in natural populations of Trinidadian guppies (Poecilia reticulata). If selection is important, gene flow should be reduced between different selective environments. If geography is important, gene flow should be impeded by geographic distance and physical barriers. We examined how genetic divergence, long-term gene flow, and contemporary dispersal within a watershed were influenced by waterfalls, geographic distance, predation, and habitat features. We found that waterfalls and geographic distance increased genetic divergence and reduced dispersal and long-term gene flow. Differences in predation or habitat features did not influence genetic divergence or gene flow. In contrast, differences in predation did appear to reduce contemporary dispersal. We suggest that the standard predictions of ecological speciation may be heavily nuanced by the mating behaviour and life history strategies of guppies.