By jointly considering patterns of genetic and life-history diversity in over 100 populations of Chinook salmon from California to British Columbia, we demonstrate the importance of two different mechanisms for life-history evolution. Mapping adult run timing (the life-history trait most commonly used to characterize salmon populations) onto a tree based on the genetic data shows that the same run-time phenotypes exist in many different genetic lineages. In a hierarchical gene diversity analysis, differences among major geographic and ecological provinces explained the majority (62%) of the overall GST, whereas run-time differences explained only 10%. Collectively, these results indicate that run-timing diversity has developed independently by a process of parallel evolution in many different coastal areas. However, genetic differences between coastal populations with different run timing from the same basin are very modest (GST < 0.02), indicating that evolutionary divergence of this trait linked to reproductive isolation has not led to parallel speciation, probably because of ongoing gene flow. A strikingly different pattern is seen in the interior Columbia River Basin, where run timing and other correlated life-history traits map cleanly onto two divergent genetic lineages (GST ∼ 0.15), indicating that some patterns of life-history diversity have a much older origin. Indeed, genetic data indicate that in the interior Columbia Basin, the two divergent lineages behave essentially as separate biological species, showing little evidence of genetic contact in spite of the fact that they comigrate through large areas of the river and ocean and in some locations spawn in nearly adjacent areas.