Most dial-up internet connections, and some 'BroadBand' cough cough connections such as TelecomNZ's JetStream (for residential users) are assigned a dynamic IP address, that is every time you connect to the internet your IP address will change.
This makes it practically impossible to host any form of server i.e. mail web or game, and means that if for example you wanted to host a HalfLife game server for your friends you would have to tell them your new IP address each time.
With DynamicDNS, you can have a DomainName pointing at your server so that your friends can just connect to the same address every time. There are many free DynamicDNS services out there, which will give you DomainNames that consist of their DomainName with a name that you choose appended to the front, i.e. fuzzyserver.dynip.org. There are also commercial providers that will let you use your own DomainName (i.e. fuzzyserver.co.nz) for a small fee.
Some examples of free DynamicDNS providers are:
Some examples of commercial DynamicDNS providers (trying to avoid a FlameWar):
lib/main.php:944: Notice: PageInfo: Cannot find action page
lib/main.php:839: Notice: PageInfo: Unknown action
lib/blame.php:177: Warning: Invalid argument supplied for foreach()