Megan McPhee, an assistant research professor at the University of Montana–Missoula's Flathead Lake Biological Station reels in an answer for this query.
There are two general explanations for how a fish species might end up in different lakes separated by hundreds of miles.
The first is termed "vicariance" by biogeographers, who study the distribution of organisms. In this case, we begin with a species that occupies a much larger, continuous range. Over long periods of time, geologic, biological and climatic events act to cause populations to go extinct in scattered places throughout their range, leaving behind present-day populations that are isolated by hundreds of miles. For example, during the late Pliocene and Pleistocene (between two to 0.5 million years ago) epochs, western North America experienced a much wetter climate, and many basins were occupied by giant lakes. When an increasingly arid climate swept into the area, large lakes dried up and separated into smaller ones, leaving fish species isolated in these diminished basins. Over long periods of time, enough genetic differences may have accumulated to cause us to classify these as separate species. Without sufficient differences, however, we would still consider these isolated populations to be members of the same species even though they have no genetic contact with one another.
The second explanation is based on "dispersal" (or movement of individuals away from the population to which they were born). In rare cases, individuals disperse into new areas previously unoccupied by members of their species. In fish, where most species require male–female sex in order to reproduce, a minimum of one of each sex would be needed to colonize a new lake. Whereas the chance of this happening once is quite small, given sufficient time there will have been enough opportunities for these rare dispersal events to result in the colonization of new lakes.
Freshwater fish tend to disperse well—as illustrated by the many different species that now occupy the high latitudes of North America, most of which were covered by ice during the last glaciation. Fish have recolonized all of the present-day rivers and lakes that were under ice during that period. Although we often tend to think of fish in lakes as lake dwellers, many of these species use rivers during parts of their life cycles. For example, Yellowstone cutthroat trout occupy a number of lakes throughout their range, but use rivers for spawning. Some of the young fish then move back to the lake to mature, whereas others remain in the rivers. One can imagine that over time, fish moving through and between river systems downstream or upstream to lakes, could colonize many different lakes throughout a large basin.
Over longer time periods, movement of fish between basins is often facilitated by "headwater capture." This is when a river tributary cutting its way upstream toward the divide between basins causes enough erosion to cut through that divide, thus serving as a waterway between two rivers. Although this mechanism is primarily responsible for transfer of river-dwelling fishes, it can also move lake fish between basins if they spend part of their life cycle in rivers.
Finally, humans are responsible for "dispersing" fish great distances. In many cases, this occurs intentionally because people want to be able to fish for a particular species outside of that species's native range. For example, in the late 19th century concerted efforts were made by the U.S. Fish Commission to introduce carp—as a food fish—into the waters of the western U.S. Now these fish can be found throughout lakes and reservoirs across the entire region.
In other cases, transfer occurs accidentally (or, at least, is not sanctioned by a fisheries management agency) when individuals release aquarium fish or empty out their bait buckets into wild habitats. We have learned that intentional and accidental transfers of nonnative fish often prey upon or compete with native species, so such practices are now discouraged.