I will throw in my 2 cents ...
I use
http://www.domainsatcost.ca. I live in Toronto, I can physically drive by their building know they are not going to run away or be bought over by 10 other companies and I can pay domains in canadian dollars which for you americans may work out even cheaper. Been using them for 7 years no problems whatso ever with them.
The other nice thing about them is they include a complimentary bogus e-mail for the whois privacy guard. IF CIRA or other valid companies send e-mails about your domain you get them. All others are validated and removed to save your inbox sanity.
I free forward is also provided for your domain e-mails so if you are buying a domain to keep the name or in my case I bought domain under my own name and forward all e-mails to my gmail account, I can do so at no extra cost.
as for
domain hosting, I would suggest PM KIARRA as she says.