free hosting can be ok, but if you pay for it you are more likely to get a faster, more reliable service. You will also get more out of it, and you have more control over it (but it depends what the website is for, if its a business site or one which will loose money if its down or running like a dog, then its worth spending money on good hosting.)
It is also very cheap - I am paying a very good price for good reliable hosting which currently hosts around 30 sites I own/manage, plus has the space for 70 more including SQL, proper email, massive bandwidth limits, stats, etc, etc.
domains are cheap as chips also. A worthwhile investment.