Good question, and one you should ask yourself early on. There are a few options from free hosts to shared hosting, dedicated hosts to your own server. What is right for you?
What do you need
If it is a basic site where you need to just display a html web page or site, maybe a few php pages then a free web host could do well for you. This would allow you to dip in to the world of hosting without parting with any money. Good all round. Have a look at sites like http://surf-host.co.cc or http://fast-host.co.cc. These both allow you to install scripts like JOOMLA, MyPHP WEB SITE, BLOGS etc. Indeed there is a ready made script installer on both these web hosting sites for this to be installed.
fast-host.co.cc is a web host that uses vista panel, an easy to use intuitive graphical control panel. This is a good starting host. You can run PHP and have MySql databases to make a dynamic site but you cannot use Sendmail or SMTP scripts.
http://surf-host.co.cc will allow you to use sendmail and SMTP, as well as allowing web hosting packages with MySql and PHP. Surf-Host.co.cc uses it's own control panel, again this is easy to use and if you have any problems a great support system is in operation. You can upgrade easily with http://surf-host.co.cc to a higher bandwidth or higher webspace package
What if you want more from a host
Let's say you want to run a site that needs a security certificate (SSL), This will require a web host that can allow you to use you own dedicated IP address. This is so your security certificate can be issued and would work well with your site. For this you more often than not need a premium web host like http://www.unlimited-web-host.co.uk
The great advantage with some of these premium web hosts is that they can offer a lot of services in one place, for example, Surf-Host.com allows you to purchase domain names directly and to get hold of your SSL certificates. This can be done at http://services.surf-host.com
The other advantage of a premium web host is the support. This is often much better and you are a priority when you pay for services. Surf-host uses a dedicated support system at http://surf-host.com/ticket
What if you want to sell domain names yourself?
Sure, You can do that. Why not take a look at the http://resellers.surf-host.com from surf-host. This allows you to sell on domain names, ssl certificates and the like. You can set your own prices and run the site how you wish. You can set your own themes etc and make it your own. Even if you have no other business, why not set yourself up as a domain reseller? No reason why not!
What about dazeling offers and flashy websites
Don't be fooled!!! simple as that.
Such offers may not be all they are cracked up to be. Let's take "unlimited hosting" for a start. It DOES NOT EXIST!.Ok, Got that. DOES NOT EXIST
It is true! There is no such thing as unlimited, and if you read the terms of some of these unlimited web hosts you will find there are restrictions,- 'fair use' policies, limits imposed one way or the other. So dont be fooled. Look for a host that allows you to increase your limit on asking or is plainly up-front like those I've mentioned
Offers are good, but check out what they mean. surf-host.com currently offers a free domain name with it's STAR package for only $49.99 a year. That is as much space and bandwidth AS YOU EVER NEED for only $49.99. The usual price is $129.99 without a domain name. Just make sure you use coupon code 2011qtr1 at checkout.
Cheap hosting does exist, such as $1 web hosting. Indeed surf-host.com offers this on it's starter package. Simple, effective, reliable web hosting for a dollar. Nothing special- Just good old honest hosting.
Finally it is worth thinking for the future. Could the host you are with grow with you, Could they offer other survices such as shoutcast servers (surf-host.com can)
Always have a chat with the web host if you are not sure or want further information. After all. You are the customer and it is your website that is all important!