You don't really pay for anything tangeable. You are paying for the rights to use that name, and for someone register it for you (the general public can't directly register names). In the end, someone has to pay for the root DNS servers and their bandwidth. That is what you pay for, among other things.
ICANN handles DNS at the highest level. Registrars are approved by ICANN and have certian rules they must follow. Many places that offer domain name registration aren't registrars. Its common for them to use a middle man, like the OpenSRS system offerd by Twocows, Inc.