Distinct ecotypes of the snail Littorina saxatilis, each linked to a specific shore microhabitat, form a mosaic-like pattern with narrow hybrid zones in between, over which gene flow is 10 -30% of within-ecotype gene flow. Multi-locus comparisons cluster populations by geographic affinity independent of ecotype, while loci under selection group populations by ecotype. The repeated occurrence of partially reproductively isolated ecotypes and the conflicting patterns in neutral and selected genes can either be explained by separation in allopatry followed by secondary overlap and extensive introgression that homogenizes neutral differences evolved under allopatry, or by repeated evolution in parapatry, or in sympatry, with the same ecotypes appearing in each local site. Data from Spain, the UK and Sweden give stronger support for a non-allopatric model of ecotype formation than for an allopatric model. Several different non-allopatric mechanisms can, however, explain the repeated evolution of the ecotypes: (i) parallel evolution by new mutations in different populations; (ii) evolution from standing genetic variation; and (iii) evolution in concert with rapid spread of new positive mutations among populations inhabiting similar environments. These models make different predictions that can be tested using comprehensive phylogenetic information combined with candidate loci sequencing.