What are you going to do with the site? That will help a lot. My general comments:
Domain Registration. I have used Network Solutions, Register.com, 000Domains.com, and Godaddy. When I worked in the hosting industry we were a Register.com partner and frequently did domain transfers. The services are all pretty comparable, but the prices are not. I have ~20 domains with Godaddy now, and outside their horrible commercials they have a solid service. They are less than $10 a year and have auto-renewal and other basic features. Privacy if you want it as well. Note: you will want to use an email address than 1) you will always have access to and 2) don't mind getting spam at for domain registration and search engine submission. These two acts bring forth a flood gate of spam.
Always register your domain yourself; don't let a host do it. I have heard dozens of horror stories (many first hand by techs who got the angry calls) of hosting companies holding their domains hostage when they wanted to transfer. This is not typical (but read the fine print!), but you always want to be in control of your domain. Same goes for not letting a web designer register the domain in their name.
Hosting. This is tougher. 99% of the review sites are unreliable because they cherry pick the referral programs (some pay over $100 per new account... all done through cookies and special links) and refer services that mean money for them. So they are all but useless.
The industry has also moved toward a commodity market with little service where overselling of servers is the norm. Frustratingly you may have a friend who is on a stable box, but you may not be so lucky. It is really a crapshoot IMO. With the prices of servers these days (cheap) I always tell businesses go for a managed server in a Tier 1 facility. You get the whole box to yourself, typical Cpanel/WHM or Plesk or Ensim to manage your accounts, additional security of not sharing a server with other shared clients, and excellent bandwidth for ~$100/mo. With shared hosting there are many unknowns. My best suggestions are:
* Call prospective hosts. Do they answer the phone? How long do you wait? Email them too.
* Look at their support system. 24/7? Toll Free? Ticket/Email? What is their uptime guarantee? How is it monitored?
* Money back guarantee. I would make sure it is 30 day and includes your setup fee -- which should be nominal.
* Read the fine print. How much disk? How much monthly bandwidth transfer? How much are overages? Do they give you a lot of real email accounts /or/ do they give you a ton of aliases and 1 POP?
Never trust them to do your backups. NEVER.
Finally, Bandwidth and Disk space are the "eye catchers". I friend recently asked me, "Is this host any good?" 500GB/mo bandwidth and 100GB diskspace... for $3.95. They can never provide that for their customers. Sure, it is a loss leader, but what that tells me is if you use those kinds of resources they are gonna stick you on a box with 20 other hogs or cancel your account (which many hosts retain the right to do at any time).
Hopefully someone has had good experiences with a host who has a fair price and ample resources. 20-30GB of bandwidth, 500MB+ of disk space, a control panel (if you are looking at LAMP I suggest Cpanel, Ensim, or Plesk... stay away from stuff like Monstercontrols), ample number of databases, email addresses, parked domains, a CGI bin, etc for under $15 should be reasonable. At $15/mo they should also answer their phones.
I know this is not a recommendation of a service (I have my own server with Ev1 and have found their service and product to be outstanding... but they do not do shared hosting) but hopefully my comments can help. Good luck!