Phate wrote:the only way if would be free is if they had adds.... they have to pay for their bandwidth somehow!
They get paid for domain registrations, and when people want more of their site so they buy a webhosting package. This is something many webhosting companies do to get famous and to get links from other sites.
They could run about 300-500 free accounts / server, each server may cost about $100-150 / month. That's a pretty cheap way to get people to know about their webhosting company.
Some hosting companies may do something like this, get some thousands of users, then stop offering free hosting, but offers some cheap solutions, many of the customers have already set up a site and may be willing to pay $1-3 / month for the same service.
That's how it works =)