How they do it, my math is as follows
Dual 60 gig drive server with above average processer/RAM is (according to a quote I got) $2,800. Co-Location of the server, this price varies but I will go with a higher figure of $300 per month for this. Web Hosting management software $850. You can get bandwidth for $250 per 1 Mbps (225 GB at 70% load). You can put 1,000 50 MB accounts on the server with 1 GB of bandwidth each.
So here is where we stand total onetime setup costs is $3,650 plus $350 just for misc and to bring the total to $4,000. So for the bandwidth at full load would require 5 Mbps for a cost of $1,250 per month plus server co-location for a total of $1,550.
Taking the cost of the server and breaking it down for payment over 12 months and all that good stuff the bottom figure on a per account basis of $1.88 per month, take the cost of the server out (ie. second year) the cost per account is $1.55, but we will contibue on with the $1.88 per month.
Going for the retail price of $2.00 per month (gurantee that you have to pay per year) that is $24.00 per year. Take away the processing fee of $0.35 plus 4% (going with 4% since American Express is 3.XX%) that brings the operating income down to $22.69. Now subtract the cost of an account for the year ($1.88 X 12) and the new total is a grand total of $0.13 per account. If you change the amount of diskspace that each account has from 50 MB down to 25 MB thereby giving you 2,000 account per server, but keeping the bandwidth the same, that would raise the above grand total of $0.13 to $5.29.
So you see it is possible to do it, I would not want to do it since you have to do all the support yourself and to do that for 2,000 accounts is more than a full time job. The purpose of this is to show purely from the money side of things it is possible.