Organisms commonly experience significant spatiotemporal variation in their environments. In response to such heterogeneity, different mechanisms may act that enhance ecological performance locally. However, depending on the nature of the mechanism involved, the consequences for populations may differ greatly. Building on a previous model that investigated the conditions under which different adaptive mechanisms (co)evolve, this study compares the ecological and evolutionary population consequences of three very different responses to environmental heterogeneity: matching habitat choice (directed gene flow), adaptive plasticity (associated with random gene flow), and divergent natural selection. Using individual-based simulations, we show that matching habitat choice can have a greater adaptive potential than plasticity or natural selection: it allows for local adaptation while protecting genetic polymorphism despite global mating or strong environmental changes. Our simulations further reveal that increasing environmental fluctuations and unpredictability generally favor the emergence of specialist genotypes but that matching habitat choice is better at preventing local maladaptation by individuals. This confirms that matching habitat choice can speed up the genetic divergence among populations, cause indirect assortative mating via spatial clustering, and hence even facilitate sympatric speciation. This study highlights the potential importance of directed dispersal in local adaptation and speciation, stresses the difficulty of deriving its operation from nonexperimental observational data alone, and helps define a set of ecological conditions which should favor its emergence and subsequent detection in nature.