Free hosting:
- they can shut you down for any reason (or no reason at all)
- they can and will invisibly steal your traffic in the background
- they're probably taking your 404 traffic
- it's slow
- there are frequent outages
- you can't bitch and moan if there's downtime because it's free
- you can't build up your own trusted domain
- a hardcore spammer like me can poison an entire free host domain, including your site
- you can't really sell a free hosted site
- sites on freehost subdomains look cheap and spammy from the surfer's perspective
Basically freehosts are good for two things only: spamming and abusing, or for making some initial money when you're very first starting out. As soon as you can, you want to be building sites on your own domains (that are registered in your name at an independent registrar) on fast, stable paid hosting.