Yes, you only buy the domain name. But you also need nameservers for this domain name, otherwise your domain wont work.
You can use some nameservers free. For example, you can use the nameservers of Google Apps to bind email services to your domain. And you can use the nameservers of Blogger.com to run your own blog under your own domain.
If you pay for web hosting, you also pay for nameservers.