I use Godaddy to register domains.
I have my own webserver. I prefer to because this allows me to have complete control over the environment I host in. After having experience is dealing with all of the other hosting services, I have found that if there is an issue no one reacts quicker to resolve that issue than me. I hate dealing with other IT people because you never get to talk with the person who can really resolve the problem and if you do get their number/email, its forever or never when you hear back from them.