There are a lot of web hosting companies out there on the web...
Maybe I'm getting ahead of myself. Perhaps you'd like to know what web hosting is first before we discuss who does it well?
Every website you see on the net, including this blog, is hosted on a server, somewhere in the world. A server is basically a big computer that does two things, it receives requests and doles out data. When you type in a web address and hit return, what are doing is essentially placing a "call" to the server and asking it for the information that should be displayed on a particular web page. Your web browser (Firefox, Safari, Internet Explorer, etc...) then translates the code it gets back into a coherent "page." That's what you see when you bring up this blog.
So, to have your own website, you need to have a server. Now, you could purchase a server and some server software and setup your own, but this takes expertise and is therefore best left to the experts. That said, you'll need to pay someone else to host your site.
And to come back to where I started, there are a number of web hosting companies out there on the web. But, before I make a specific recommendation, let me give you a few things to think about when shopping for web hosting:
Cost, obviously. Most companies range between 5 and 12 dollars per month, depending on how many bells and whistles you get.
Storage space. Typically most standard hosting plans will provide you enough storage space for all your pages. The only issue is if you are planning to have a lot of multimedia on your site (videos and the like). If so, you may consider paying for more space.
Bandwidth. This is how much data you can transfer per month. Again, unless you are doing a lot of multimedia then you're probably ok with the standard plan.
Databases. If you are planning on hosting a CMS (Content Management System) like Drupal or Joomla, you WILL need some databases. Most standard plans now allow 10 to 50 databases on a standard plan, but you'll need to make sure.
Tech Support. Unless you are a master, things will go wrong on your site and you will not know how to fix them. Make sure the plan you get has tech support, free if possible...
My personal recommendation for web hosting is a company called Bluehost. Their prices are about average for the market, they offer large storage and bandwidth options as well as 50 databases on most plans. Their tech support folks are awesome. And free. I have hosted two sites on Bluehost and both were based on a Drupal CMS; I had no problems with installation or usage of either site. These are good folks.
But, there are a few other worthwhile competitors to Bluehost where I know colleagues have successfully hosted sites. They are: