Having raised a couple swim team kids and kids who also ran, I would tend to agree, but swimming is not such an expensive sport either. It's more expensive than running, but running is very cheap...just shoe expenses as shorts and tech tee shirts and any other needed gear are pretty easy to come by.
The talent pool is in swimming is small because it is a hard sport to get good at (demanding workouts, long time needed to improve, time commitment, monotonous), and there aren't that many pools. If you aren't raised near a decent pool, you aren't going to be a good swimmer. And most people aren't.
I'm not saying you can get to world class this way, but any kid that lives near a pool and goes to practice 5X a week or more for 10 years starting at 8 is going to be a pretty damn good swimmer by the time they are 18. In the US, there might be more kids like this in swimming vs. running. Just speculation there, but it seems possible.
People can attain very good fitness because injuries are usually not enough to force a lot of time off and you can swim for hours a day over a long period of time. Some people get injured, but not the fallout you see in running. The workouts are pretty tough, day in and out.
What I see watching swim teams is that only a few kids will train hard year round, and usually they end up very good, often good enough to get to the trials. And of course with 100 people or whatever in trial events in the US, you are going to see some incredible performances at the top.
On a worldwide level, of course running is way more competitive, because it can be done anywhere.
Personally I think swimming fast is way harder than running fast, though I am not gifted at either. I enjoy both, but in my opinion a hard swimming workout is just awful, one of the most painful things possible, due to the oxygen debt. Disrespecting swimming as a sport is just ignorant. It is rough.