Web hosting can be as much or as little as you make of it. You could put an entire website on a host. You could register a domain name, then direct all who seek that domain name to look on that host for all the files that make up your website.
Or, as for *one* of my websites, you can use a host as, just a "symbolic target" for that registered name. For example. Google has a service through which you can store all the files for the website. But Google won't HOST a domain. So, you have to HOST it elsewhere. So, you have to register a domain name, get someone to "HOST" it (symbolic, give the registered name a place to point, so to speak). Then give the world instructions, so as to say, "oh, by the way, even though it's supposed to go to the HOST, look at Google instead!"
Weird stuff.
The A record points to where your domain truly "lives", on the Host and the CNAME points to names of files on Google...
As for where you can get a domain name, there's domain name "registrars" all over heck, usually for about $7 per year, or some will register for free if you also HOST with them (like Yahoo! who will give you hosting services...check the price).
Get discussions and such from the extremely knowledgeable folks at http://www.webhostingtalk.com