Because they eat more calories than they burn, simple as that, you can have good cardio and still be fat, especially in something like swimming where the 'dead weight' impact of adipose tissue is less than with something like running. Also swimming (or any particular exercise) alone has nothing to do with fat loss, fat loss is determined by overall calorie balance of your tdee vs caloric intake. You can run a marathon every day but if you're eating more calories than your body burns you still won't lose weight.