These are some of the best free web hosting services that I have found on the internet. I will only post the ones that don't put ads on your pages, allow you to put your own ads, and offer FTP access, because these are important for experienced webmasters.
If you happen to use one of these, then I recommend
hosting your large files somewhere else, because most free services have a file size limit. Check out my blog post on free file hosting.
I do want to caution you that there is no guarantee that these services will be free forever. They might start charging money or worse, go down without notice. Make sure you have backup at all times if you use a free host.
www.110mb.com
This is the best free web hosting site that I have tried. In fact, I am using it to host this site. You can use their subdomain or your own domain.
They offer 2 GB of storage and 100 GB of monthly bandwidth, FTP access, a mysql database, and more. Unfortunately, the file size limit is 10 mb. See their site for more details.
However, I might not currently recommend them if you want domain hosting, because there might be a charge for it coming soon. See this forum post.
That's really a shame, because I just started using their service and was really enjoying it.
www.zendurl.com
I have not used this server yet, but I'm thinking about moving my site there if 110mb.com starts charging for using my own domain.
They allow you 200 mb of storage and 10 gb of bandwidth, which is not as much as 110mb.com offers but still should be sufficient for most small sites and use free file hosts to host your larger files.
You can have 2 mysql databases and 2 addon domain names, or you can use their subdomain. There is no file size limit.