Howdy! Welcome to our community of more than 130.000 members devoted to web hosting. This is a great place to get special offers from web hosts and post your own requests or ads. To start posting sign up here. Cheers!
There are plenty of ways for free webhosting providers to earn money similar to how open source projects can earn money. It isn't easy as your primary method of earning is given away for free, but with some creativity you can find a legitimate way. Some providers charge setup fees or similar small up front fees to keep out abuse. They use this as a way to keep out people who only want to abuse the service.
I'd agree the best thing to do is look at the freehosters currently advertising in the free hosting ads section of the forum, if there are hidden fee's then you can always post this as a reply to their ad if they do not state it to help others...
(Talk about a necropost. First post was made over a year before the second one, but since then its not that old.)
If someone is advertising free hosting, there shouldn't be any fees for the package as-advertised.
Adding onto that plan, like a domain name or dedicated IP usually isn't included in a typical free plan, and since it can be costly for a host to provide such they usually charge you for it. But at that point its not free hosting anymore, because you've been asked to pay for a feature.
And even at that, some hosts will throw in the extras free as well if they see that you're making good use of them and will make it worth their while. Just two days ago I bought a domain name for a customer that is turning quite a bit of traffic, the ad revenue in the past couple months more than pays back what I spent registering it on their behalf.