What's the difference between a root nameserver and a TLD?
A TLD refers to the last chunk of a DNS name, such as ".com"; each TLD has its own set of name servers which are responsible for their leg of the name resolution process.
The root zone (".") is to the root name servers as a TLD is to the name servers run specifically for that TLD.
A resolver that only knows about the roots will ask them where to find the servers for a TLD (.com), but that's all the roots know. To find serverfault.com, the resolver has to ask the .com name servers where to find serverfault.
Simple. The root nameserver(s)= server the "." domain. The TLD servers serve the top level domain, DIRECTLY BELOW THE ".". So, for example, ".de" is the german country domain. DNS servers managed by DE-NIC.
The "." root name servers know the dns servers for the .DE domain and tie it all together. But they are not the top level domain servers (i.e. the servers serving the top level ".de" domain) themselves.