I use Yahoo! Small Business, where I registered and currently host both
www.xylot.net and
www.xylotspace.com for a very decent price ($12.70/mo for both, $9.95/yr for both). There are several solutions out there, and you have the option of registering the domain with one location (e.g. GoDaddy) while you host the contents of the site on another (e.g. Yahoo!). The host supplies the name server information, and you point the domain to that location.
For example, you register for web hosting only with Yahoo!. They supply you with the domains you need to point your domain to (e.g. ns1.yahoosomething.com). You register your domain with GoDaddy. There, you must point your domain to ns1.yahoosomething.com in order for it to display your content.