How do populations diverge and reproductive barriers arise?

Natural selection can explain adaptations: gene variants (alleles) that confer higher rates of survival and reproduction tend to increase in frequency in the population (have higher fitness).  But how do reproductive barriers arise between species?  Darwin was perplexed by this question because a reproductive barrier implies that alleles causing reduced fitness have somehow spread. In collaboration with others, we have been studying this problem in Snapdragons (Antirrhinum), which have good genetics and very closely related species that can still hybridise.  At a natural hybrid zone, where closely two subspecies meet, we have shown that out of the many thousands of genes in Antirrhinum, only a small set of flower colour genes show a barrier to gene flow between the populations.  We hypothesise that allele combinations of these genes confer different signposts for the bee: magenta highlight on a yellow background for A.m. striatum, and yellow highlight on a magenta background for A.m. pseudomajus. Although these alleles work well together in each subspecies, hybrid combinations are less fit, just as driving on the left or right work well separately but cause problems when combined.  As with driving on different sides of the road, reproductive barriers likely arose through historical accidents, and we are currently trying to understand how this may have happened by studying the origin of these flower colour alleles in a range of species.