many different companies offer free web hosting services at no cost. However, a common set back is most of these free web hosting plans do not offer sufficient features you need for your website.
You can do pretty much anything you would do with a regular web hosting plan, except you are limited by the amount of server resources. You have to keep in mind that common features such as PHP programming, MySQL databases, CGI scripts and FTP may not be available.
Your monthly bandwidth allotment might be limited as well - if you web has a large number of visitors, it will require more bandwidth. The challenging part of this is that you may experience traffic spikes when least expected and be left with a sudden shortage of resources. If traffic is important, make sure your free web hosting plan comes included with sufficient bandwidth to support your current and future traffic requirements.