The best webserver is one that you can run - get a cable/dsl/t1 connection, install linux on it, register your domain name (www.mywebsite.com) and you are away.
If that is a bit too much to set up, just find any hosting company. I'm not sure if there is much of a difference between them all. You will need to pay initially for the domain name, then $X per month for certain levels of service. If you need to use CGI or complicated things like that, check that they are supported by the web hosting company. Also, look out for companies that charge you by how many MB are sent/recieved in a month - if its a popular site it could cost you quite a bit.