Cheap Hosting are not Bad everytime... & it doesn't means one who charges more money will give u better service.. better to consult some friend who is already using a service & get their reviews & then buy the hosting...
Free hosting offer their service as
1.they placed ads on your site.
2.Post for hosting. This most likely the person or small group who purchase reseller hosting and provide hosting to get ad revenue on their forum.
Never go for cheap or free host if want want to do serious web site development. Better to purchase hosting from reliable host who is in the market for atleast 3-4 years.
i thought there were some free hosting that don't display ads, but again i might be wrong. With low budget i prefer free hosting (and if possible free TLD) if any exist.