~
I think good site does not charge high fees because they are already making a lot of money coming from bets, with low fee, they will be able to attract a lot of gamblers as what makes a gambling site more successful is the volume of traders coming in to play than the amount of bet they will put.
Let's put it this way, if that gambling site has a small gamblers but big time gamblers, that's not good for the site as anytime these gamblers might leave and there's a big effect on its profitability.
Gambling sites with a lot of users profit from the house edge, not from users' losses. Some players win and other players lose, it's almost 50/50, but it's not exactly 50/50, it is shifted a bit in the favor of the house.
You are right that having small amount of players is not good for a site, but it's not only bad because it has negative effect on its profitability, but also because someone can win big by chance while there are not enough players to statistically balance that.
Having low or no withdrawal fees at all is better for a gambling site because they can attract many players this way, and to be statistically balanced you need thousands of players online every hour.