I think no hosting company can survive with mere free users. There is a marking strategy behind this. Almost all hosting companies have a paid option too which gives more freedom to members. A person who joins the company as a free user is a potential paid customer for the company. So it is very essential to give him good service to induce him to go for a paid service. If he is able to grow his business, the existing free setup will not be sufficient to meet the demands of his growing customer base. So, he will have no other option but to opt for a paid hosting option. If he is satisfied with the current hosting company, most probably he will stick with the same company for a paid hosting service.
Some hosting companies even earn money by displaying ads on servers. But sometimes too many ads could be a discouraging factor for new members.
Whenever I find something that looks too good to be true, I do a google search for "name-of-the-thing scam". And almost always I discover that it was really too good to be true. From the most known free hosting offers on the internet, I found people reporting they were scammed by them.
000webhosting - there is people claiming that they hosting is terrible, but the scam happens in their affiliate program
freehostia - your site will get filled with malware
freehostingarea - with less than 200 views a day, they claimed a user his bandwidth exceeded the free usage limit (that is easy to reach just with the usual crawlers on the web searching your site).
Let's consider the following factors could possibly bring those free websites hosting survived:
1. Affiliate Marketing
2. Sister site of a major website
4. Sponsored site
Those are probable reasons why, in spite of free to use their facility, those free websites hosting have able to get through the marketing by surpassing the odds and the hardship of a strict competition among the established paid websites hosting.