I use another service :
but the operations are similar.
For free they gave you a record in their dns servers, under one of their domains. I choose saltlake.dyndns.org
I have a adsl, at connection and also at random times, I get a new ip address. There are many web sites to check your external, public ip address, e.g.
If I ping my dns record saltlake.dyndns.org I get my current public ip, right.
How does it work ?
Simple : you have to run a little agent, it contacts the dyndns servers when the ip change, or every few minutes. They receive this packet, see your new public ip address, they update your dns record.
The agent can be your router ( many adsl routers support dyndns and similars services ), or you have to run a little agent on your operating system.
About dns propagation times, it is far better than 10 years ago.
I just disconnet my adsl line, reconnect, check with whatsmyip.org my ip address ( its different ) and ping saltlake.dyndns.org : I get the new ip. A few seconds - and it verifies the agent is doing its job.
Ah, for the sake of completeness. When you ping you free record, ping uses dns to find the current ip ... and apply a reverse query to find the real name associated to the ip.
For example, with my adsl home line ping saltlake.dyndns.org shows my external ip and also dynamic-adsl-62-10-39-166.clienti.tiscali.it ... wow, two dns records, I am a VIP !
About the slow times, imho they are not due to the dns tree update or the cheapo adsl lines. It is the excuse by some free dns providers, not working so well.