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.