Ok here is how it works, you've registed a domain my-domain.com
When you register that domain, you need to provide 2 DNS server IPs for it, thats where this 2 IP thing is coming from. I believe the internic just downed their update times to like 15 minutes, so the 48 hours thing is no longer valid unless you change it on your server.
Now, those 2 IPs you give them could be totally bogus, or the first one could be valid. You will need a public static IP to host your own external DNS server or this won't work.
In the DNS server you need to define the Domain my-domain.com and create the various records depending on what you want to do.
"A" records will map names to IPs
"MX" are for mail-exchangers, your email servers
"NS" are the name server records
"PTR" are reverse lookup records, you aren't going to be dealing with these unless your ISP has delegated you control of it, otherwise the internet breaks
Now, say you just wanted to map my-domain.com in your internal network so that people could access it, you wouldn't have to register it to do that. You can makeup your own domains internally, or map existing domains to something else without having to deal with the Internic. I could make an entry for microsoft.com on our DNS server here and map it to whatever I wanted, anybody using our DNS server would no longer reach microsoft.com because I would have remapped it for our DNS server ONLY.
When you do a DNS lookup your computer looks in hits hosts file to see if it has a record for that domain, if it doesn't, then it asks your DNS server, "Hey, do you know where the domain XYZ.com is?" If your DNS server has those records, or has them chached, it will reply, "Yea, the DNS server that has the information for that domain is located at x.y.z.w IP" Your computer will then go ask that x.y.z.w DNS server about the domain. If it does not know where the domain is located, 1 of two things could happen. First, it could ask the DNS server it has been configured to forward requests to if it knows where it is. Or, it can just go ask the root servers (happens most of the time). There are a few "virtual" root server, each one of these servers is actually a cluster of DNS servers that are run by the Internic. Anyways, they know where all the DNS servers for ALL domains are located, the 2 DNS server IPs when you register. Your DNS server goes "Hey, I need to know where the DNS server that has the info for this domain is located" One of the root servers goes, "You can find out about that domain from this x.y.z.w DNS server" Then your DNS server goes and asks that new DNS server about the specific record it wants "www.microsoft.com" and gets a reply, which it passses down to you. It also keeps a cache for a specified amount of time (defined by a net admin) that way if you ask again, it doesn't need to go through that whole proccess again, it already has the answer.
You wouldn't be runing a Top level domain server, those are the root servers, only the Internic can create those. If you look in the roothints file on your DNS server, you can see the predetermined IPs for each of the root servers. They're usually run at a government or educational institution. There actually was a semi big problem a few years ago about 3-4 of the root servers all being in the same building, if something happened to that building, that would have been bad.
Now, if you aren't going to be hosting a domain on these servers and its just for the "hey I have my own DNS server", it isn't worth it. Since your DNS server will not have any records, it is just going to be asking the root servers for everything....which would happen if you had the DNS server or not. So it would be less trouble just to use your ISP's servers.