True, but free hosting is really a great way for new web designers and young people to learn about hosting and cpanel and whatnot. Also, a lot of people don't make profits from their site and maybe don't have any other source of income (young people, again) to even pay 1-10 dollars a month.
I have found heliohost to be a great free host so far, my downtimes have been low and there are no ads. If I wanted I could buy a domain and point heliohost to it, making my pages look exactly like a paid host.