I register my domains on godaddy and host with dreamhost (since i'm in the internet marketing biz, i own and host a lot of sites - with dreamhost i can get a lot of sites on one server). If you're only hosting one site, consider bluehost - they're cheap but have a good rep in the industry for shared hosting. I really like dreamhost, but they're just a little more expensive than bluehost. I also have a few older sites hosted with godaddy (make sure you specify you want a linux server if you plan on running anything open source or php-based). I've never run into any problems, but generally I like to register and host at different places so I don't put all my eggs in one basket.