GoDaddy can, but does not have to control the domain itself.
When you register the domain name, you provide GoDaddy (or whichever registrar you choose) multiple "Name Server" addresses. These are the computer systems that will actually house your domain's information.
I use Amazon's Route 53 DNS server (http://aws.amazon.com/route53/) since I run my own web server, but you could run your own DNS server, or use your hosting provider's name servers.
The "Name Server" that you specify will maintain the details about your domain such as what IP handles email, name servers, a/cname records (sub-domains), etc...
In addition to GoDaddy, you could use Network Solutions (http://www.networksolutions.com), Dotster (http://dotster.com), Register.com (http://www.register.com), and if you google DNS Registrars, you'll find tons of them.