Thank you for the complement, I really appreciate it!
Wikipedia explains it better than I would, so I'm posting info directly from their article:
http://en.wikipedia.org/wiki/IP_address
Uses of dynamic addressing
Dynamic IP addresses are most frequently assigned on LANs and broadband networks by Dynamic Host Configuration Protocol (DHCP) servers. They are used because it avoids the administrative burden of assigning specific static addresses to each device on a network. It also allows many devices to share limited address space on a network if only some of them will be online at a particular time. In most current desktop operating systems, dynamic IP configuration is enabled by default so that a user does not need to manually enter any settings to connect to a network with a DHCP server. DHCP is not the only technology used to assign dynamic IP addresses. Dialup and some broadband networks use dynamic address features of the Point-to-Point Protocol.
Sticky dynamic IP address
A sticky dynamic IP address is an informal term used by cable and DSL Internet access subscribers to describe a dynamically assigned IP address which seldom changes. The addresses are usually assigned with DHCP. Since the modems are usually powered on for extended periods of time, the address leases are usually set to long periods and simply renewed. If a modem is turned off and powered up again before the next expiration of the address lease, it will most likely receive the same IP address.
So reading the above, your ISP most likely uses a "sticky dynamic ip address" meaning it will keep the same ip address for weeks or even months without changing. Power cycling the cable or dsl modem may or may not reset the ip address, it simply depends on how your ISP has the ip addresses allocated and the lease time with each. Rebooting your computer, unplugging an ethernet cable is going to have no bearing on when your ISP changes your ip address. It's completely out of your hands.
Now lets learn about Static IP addresses...
Static ip addresses DO NOT change. For example, I have purchased a static ip address from my ISP, comcast, as part of my small business internet package. Since I have a static ip it does not change, I always know what my real world ip address is. Which makes it great for remote access, hosting a webserver, a gaming server, or any number of services myself or another person may provide to other users or themselves. Another example is, when my friends and I are playing StarCraft, I host the tcp/ip game & everyone connects to my static ip address - it makes life a little easier in the world of game hosting. I also host a killing floor server, terraria server, and multiple hosted desktops all gaining access via my static ip. Now there's a lot to getting the network stuff configured on my end, but none would be possible as easily if I did not have a static ip.
What to do if you have a dynamic ip address & want to host games...
Well... there are solutions out there for those users who a static ip isn't an option because of cost or availability. The service I used before my static ip was:
http://www.no-ip.com/ This company gives you a hostname to point to your dynamic ip. You run a small piece of software on your computer that updates & checks to make sure your dynamic ip has not changed, usually once an hour - which is more than sufficient. So lets say you sign up for no-ip's services, you will then choose a hostname, example: dylanlandry.no-ip.biz. great! now instead of having your gal connect via an ip, that may or may not have changed since last you played together, she can easily remember dyanlandry.no-ip.biz much easier than 32.156.89.247, right?? I think you are seeing my 13 years of experience... ha ha!
So, we have covered dynamic ip address, static ip addresses and dynamic DNS service such as no-ip.com. I hope that this helps you out, good luck and have fun! Post back if you have other questions, take care!
further reading on no-ip.com's services:
http://www.no-ip.com/services/managed_dns/free_dynamic_dns.html