Now that everybody* has a home broadband connection, the need for IP addresses is a growing concern. With the rollout of IPv6 still pending, IP addresses are a limited resource. ISPs are understandably reluctant to hand a static IP address to every US$50/month subscriber. Some ISPs do, and some allow you to pay extra for one. For the most part, though, they're a bit of a pain to get.
* not everybody
This is not a problem for the majority of home broadband users. Their needs efficient Web browsing, quick downloading of large files, "always-on" service, productive hours spent on EverQuest or AIM are met admirably by the service that is provided. Giving them a static IP address, if they even noticed, would just result in increased security headaches as their insecure Windows machines suddenly had fixed addresses, making them easier to break into.
So why would a home user want a static IP address? Well, for hosting things. Without a static IP, nobody knows where to find you, so you can't run a Web server or an FTP server or an email server. Here is a bit of the science behind it.
The bond between a static IP address and a domain name is fixed, and nothing shall come between it unless the host wants it to. 18.104.22.168 will always equal lycos.com, and vice versa. This is mandated in the DNS record, which basically says, "until you hear otherwise, the domain lycos.com is found on the machine 22.214.171.124." (This is a simplification, but will suffice for our needs here today.)
Contrariwise, dynamic IP addresses are assigned to users on a rotating basis. Every time a DSL (or dialup) user connects to the Internet, he or she is automatically assigned a temporary IP address, on a short-term DHCP lease. These addresses resolve to hosts on the network of the ISP that provides them, like sdn-ap-001mantriP0371.isp.net not to the home machine that is using the address at the moment.
Thus, a machine on a DSL or cable line without a static IP is connected to the Internet, but only one way. People from the outside can't initiate communication with that machine except through an intermediary, because they simply can't find it! This makes hosting from home impossible ... except through trickery. For there is a solution, a clever one. It is called dynamic DNS.