A fundamental goal of ecology is to understand the factors that influence community structure and, consequently, generate heterogeneity in species richness across habitats. While niche-assembly (e.g. species-sorting) and dispersal-assembly mechanisms are widely recognized as factors structuring communities, there remains substantial debate concerning the relative importance of each of these mechanisms. Using freshwater snails as a model system, we explore how abiotic and biotic factors interact with dispersal to structure local communities and generate regional patterns in species richness. Our data set consisted of 24 snail species from 43 ponds and lakes surveyed for seven years on the Univ. of Michigan's E. S. George Reserve and Pinckney State Recreation Area near Ann Arbor, Michigan. We found that heterogeneity in habitat conditions mediated species-sorting mechanism to drive patterns in snail species richness across sites. In particular, physical environmental variables (i.e. habitat area, hydroperiod, and canopy cover), pH, and fish presence accounted for the majority of variation in the species richness across sites. We also found evidence of Gleasonian structure (i.e. significant species turnover with stochastic species loss) in the metacommunity. Turnover in snail species distributions was driven by the replacement of several pulmonate species with prosobranch species at the pond permanence transition. Turnover appeared to be driven by physiological constraints associated with differences in respiration mode between the snail orders and shell characteristics that deter molluscivorous fish. In contrast to these niche-assembly mechanisms, there was no evidence that dispersal-assembly mechanisms were structuring the communities. This suggests that niche-assembly mechanisms are more important than dispersal-assembly mechanisms for structuring local snail communities.