There are many hosting options available depending on your needs, and pricing varies from free to a couple of hundreds per month.
Searching for "free web hosting" on google returns over 90 million results to pick from so there is no shortage of choice.
Free hosts do come at a price however, many post adds on your page, but the worst part (for me) is the path to your site, it will look something like "www.mycoolsite.someothersite.com", not to bad if you are only posting pictures of little Johnny for grandma to view, but no good if you have a business.
Free web site hosts are great if you are just starting out, or trying new ideas.
Give Yola a try, they have a real easy online web site builder (limited free templates) it's a good place to try your hand at becoming a website designer.
With paid hosting from under R10-00 (ZAR) per month for a site like this one, there is no need to host your site on a free host.
Registering your own domain is easy and looks professional, especially for a business, an added bonus is that you can create custom email addresses, "firstname.lastname@example.org" is much more professional than "email@example.com"
When deciding on a web host look at the options they offer at what price.
* email accounts (how many do you need)
* at the very least about 50 mb of disk space (more is better of course)
* at least about 500 mb of disk space if you host movies or many pictures (incoming email uses
disk space as well until you download it.)
* at least one database (some host do not offer databases with their low price options)
* Setup costs (some host charge a setup fee)
* PHP support (some host do not offer PHP with their low price options)
* 99.9% Uptime (very important)
* Traffic/bandwith, 1 gb is not as much as it seems (main reason I like gridhost is because they
offer un-metered bandwith)
Free host listing - lots to choose from
Gridhost - my preferred web host