Dynamic DNS makes use of a feature of DNS called Time-To-Live, or TTL. The TTL is the field in a DNS record that specifies how long the record is valid. That is to say, it tells querying servers how soon to check back with the host of that record to see if the record has changed. A typical setting is 12 or 24 hours, which is sufficient for standard DNS usage, because server information just doesn't change that often.
The fundamental principle of dynamic DNS is to create a DNS record with a TTL setting of five minutes or so. By thus imparting to the world that the address of the machine in question changes frequently, it is possible to allow that machine to serve as an Internet host. Dynamically updating the DNS information keeps the domain name you choose pointing to your machine, whatever its IP address may be at the moment. It works like this:
Say you have a dynamically DNSed Web server running yourdomain.com out of your bedroom. I type "yourdomain.com" into my browser. My computer asks its ISP's nameserver, "How do I resolve yourdomain.com"? The nameserver looks at its cache and finds no answer, so it starts the querying process.
First it asks one of the Web's 13 root servers. The root server only knows the rightmost part of the answer: the .com part. It refers the query to the specific DNS servers that handle .com queries.
So the nameserver asks one of those about yourdomain.com. It receives the answer that DNS info for yourdomain.com is handled by nameserver.yourdnshost.com. The fact-finding mission continues.
My nameserver asks the question again. Finally, nameserver.yourdnshost.com reveals the information the specific IP address that yourdomain.com resolves to. It also passes along the TTL information for that DNS record: namely, that the address should be cached for no more than five minutes. My browser connects to that IP address and sees your lovely flying kittens or whatever. This whole process takes just a second or so.
If another user of my ISP should want to visit the same page within five minutes, they can use the information that the ISP's nameserver has cached. After five minutes, though, the data will expire and the whole querying process will be repeated. Because the next time the query is run, the IP address that yourdomain resolves to may well be a different one, depending on the whim of your broadband provider.