godaddy would be my recommendation. some people do not like them for how they bug you with too many product offers when you are trying to purchase a domain. but they do have some incredible deals on domains pretty much all the time! and their control panel is very powerful.
Personally I like name.com extremely well. You may want to do research. Some methods of communication work better than others for each registrar. I get quick, random, answers on the phone from godaddy. I get quick, accurate, answers from name.com.
Yer... GoDaddy suck for pretty much everything else, except domain names. I have used some cheap one before, but the problem depends on what you want to do with the domain/s. I have lots, so I need to manage them. Some really cheap hosts only sell them, with no other ability than to forward the domain somewhere, else pay more $$$ to use further management tools. GoDaddy is dirt cheap + has all the tools to fully manage your domains.
They do. It costs extra, and it is handled through another corporate entity, but it's easy to setup.
I also register most of my domains through GoDaddy. Most of my domain names will then either be acting as forwarders to my main sites, or get their nameservers pointed to my VPS to be hosted there.
I tried hosting with GoDaddy in the past, and was not overly impressed with it. My hosting is done at globalgold.co.uk, who might be a wee bit more expensive, but their customer service is excellent. They really go out of their way to help me get stuff done whenever I run into trouble I cannot solve myself, and to the best of my knowledge, they never charged me extra for it.