Very few domestic users have static, or sticky IP adresses. There are just not enough IP addies to go around. The fact that it looks like you have your own IP is because of NAT. In fact, they all be going through an invisible proxy to reach the internet. You have to have been around for a long time, or be paying a fair old fee, to get a real static IP address. And businesses with a static IP will then be using NAT on their own proxy to share that IP across their LAN.
The user can then also use a proxy when they surf, there are loads of them around.
The one thing you can be sure of is that IP adresses do not equal unique computer or user identities.
Cookies are about as good as it gets when it comes to unique id.
To give it some perspective
IP class A networks begin 1. to 126.
10. is default so not allocated
127. is IP callback
So there are only 126 possible class A networks in the address space. and only 124 could be allocated, and they all went long ago - IBM, Dept of Defense, Sun Microsystems, Berkely Uni, etc
IP class B networks are in range 128.0 to 191.254
gives a possible set of 16,000 class B networks with up to 65,000 hosts on each =
1,040,000 possible ip addresses (less network and router overheads)
IP class C networks are in the range 192.0.0 to 254.0.0
gives up to 254 hosts on 2 million networks = 508million possible IP adresses
Now that sounds like a lot: over 500 million possible IP adresses, but there are more than that many people online in the world already. And the effective allocation is probably half that because companies get allocated a class of network whether they fill it or not. So an ISP with several class C network at it's disposal will sell them as and when it can, but no-one else can use any of them. They will have subnets and routers that cut down the effective number as well.
The truth is that we have already run out of IP adresses, did do years ago, and the internet is only possible because of technologies like NAT and CIDR. Only when IPv6 comes to full fruition will it be theoretcically possible to give all hosts an IP adresses that is unique - just as we give ethernet cards a MAC that is really unique.