For third party hosting, I always tell my clients to use bluehost. However, it is very easy to set up your home computer as a web server, which is free and very easy to do. A domain name will only cost you $8 and you can set up domain forwarding to send people that hit your domain name to the address of your web server (which is also a free service). In order to maintain a static web server address, all you need to do is set up an account on dyndns.org and pick a domain. Then, when your IP changes, dyndns will automatically update the domain with the new IP so you don't ever have to update the forward. It is pretty sweet
Of course, there are advantages and disadvantages to hosting a website from your home computer (such as, having to always leave your computer on, full responsibility of backing up your files, risk of power outages, etc.). If it is something you're interested in, let me know and I will go into further detail.