People will talk all about fish eggs being spread on birds and things, but really a _huge_ amount of it is people. People just love to put fish in isolated bodies of water, from farm ponds to mountain lakes. Isolated bodies of water are quite often fish-free until people put fish in there, for example many mountain lakes and streams were known to have been historically fish-free. If you see trout or bass or sunfish in a pond, it was probably people who put them there. And they’ll go to huge efforts to do it. In the old days they’d lug trout in on mule-back in buckets. Nowdays sometimes they drop them from airplanes.
The other big part of it is that fish move around during flood and high water events. Many bodies of water that _seem_ isolated are in fact connected to others during high rain and runoff events.
I’m sure the occasional bird-transported (fertilized) egg or fish does happen, but if it was common, fish-free ponds would have been less common in the historical record of areas before people showed up.
Latest Answers