- Retrieve a file from your a computer at home over the Internet?
- Remotely control a computer at home?
- Run a webcam so you could keep an eye on your family, pets or home while you were away?
- When gaming peer-to-peer over the Internet, not have to always send your current IP address to your fellow gamers?
Although registering and maintaining a domain name in the traditional sense costs money and requires thinking of a unique, memorable, and unused (very difficult, these days) name - you can get a functional domain name for free, as long as you're willing to live with a few compromises.
Several companies offer services which provide free domain names. These companies also sell commercial domain name services. With free services, however, your domain name is typically sort of an "extension" of domains owned by the domain name service company. So after selecting from a list of suffixes, and entering your own prefix, your domain name might be "mydomainname.dyndns.org." Note that these must be unique, so your first custom name choices might not be available - but if the company offers multiple suffixes, you might be able to get "mydomainname.serveftp.net." (If you wish to have a domain name without these suffixes, that will involve paid services.)
Note that if your ISP (Internet Service Provider) changes your IP for whatever reason, there will be a period of time in which your domain name is unreachable. This delay can be as short as a few minutes, some of which is based upon the frequency which the "update client" (a small piece of software that runs constantly on a computer on your network to check for IP address changes) checks, plus the time it takes for this change to propagate through the dynamic domain name service. This is an unavoidable consequence of having dynamic IP service. If you wish your domain name to be more stable, consider getting a "static IP address" from your ISP - this will typically involve additional monthly fees, and possibly changing service providers.
We've used two free services to maintain domain names with a dynamic IP. For years I've used a free service from DynDNS. This service uses a piece of software called an "update client" running on any computer connected to your broadband connection which informs the DynDNS servers of your current IP address. The software checks every few minutes and updates the DynDNS database of what domain name goes with what IP address - this Domain Name Server (DNS) begins to propagate throughout the Internet. The process is transparent - ours has been running for several years without maintenance.
There's a bit more complication here (like there hasn't been enough already). If you don't already have a "router" between your home LAN and your broadband connection (DSL/cable "modem"), you'll definitely want one to act as a firewall (you shouldn't be connected to the Internet without the protections of a router anyway). You'll need to set up the router to "forward" requests by different users on the Internet (i.e., you trying to retrieve shared files; viewing a webcam; requests from Web browsers to your Web server; gaming friends attempting to connect to your gaming machine) to your home's domain name/IP to the appropriate computer on your LAN (different computers on your internal network can serve these different purposes concurrently). Consult the documentation for your broadband router to configure "port forwarding."
A substantial collateral benefit of having a domain name is being able to communicate with your home computer(s) from anywhere in the world. Not only can you make HTTP connections with one computer's web server, but you can make AFP (Apple File-sharing Protocol), FTP, SSH, and a host of other kinds of connections to any of the computers on your home LAN (though each service can only be associated with *one* of the computers, you can have all the services on one, or a different service on each computer). So you can access files on a Mac or PC at home from anywhere in the world. With Apple Remote Desktop, Netopia Timbuktu, or even *free* VNC software you can even remotely control your computer from anywhere in the world.