scott seems to have explained DNS well so I'll finish up:
dyndns.com offers free services to users so that htey can remotely access their pcs
every publicly conencted pc has an ip address. if for some reason you want to get to it you have to memorize that number. all isps by default offer dynamically assigned ip addresses to their customers that change periodically. that is why memorizing your ip is fruitless.
What dyndns does is has either your router or a software client on yoru pc constantly update their database with it's ip address for the moment. that way, if your ip address changes, they will know what it is.
this is the best part: they assign a name to your IP account, so everytime you access that named account, it will look up your ip and send you there.
for example, lets say my computers ip is 70.87.5.87 and I created an account with dyndns.org called "foo.dyndns.org"
dyndns.org will have your recorded address on file, even when it changes, so when you access foo.dyndns.org, it will foward you to your IP, which at the moment would be 70.87.5.87
It's actually really useful.
Let's say you wnat to run a website at home. this way if you are runnign a webserver at home that will respond to webpage requests, visitors will ALWAYS be able to access it @
http://foo.dyndns.org, or if it is an ftp server
ftp://foo.dyndns.org
The possibilities are endless.
Hell, I use it for PPPTP VPN tunneling

(<-----you might have to read up on that for quite some time to understand what that means)