Because when I move house/change providers I don't get to keep my IP unless it is from a block and then I move the entire block. Phone numbers are portable (at least within the same SZU (Standard Zone Unit) in Australia) and you can port between providers, or even preselect calls to connect to multiple providers for different calls. I could send some calls out my primary provider and some out Joe's isp, and still want my caller id to be ok. When it comes to voip calls there are rules in place about updating ACMA caller id lists but there is are huge hurdles to do it, and the little guys generally don't or if they do, simply mark it as a non geographic location and never update after that.
But the biggest issue is that there isn't a direct Customer -> Call terminator link. There may only be 2 national terminators that then have interconnects with smaller players who in turn resell to a number of others and you Joe's shack ties onto the bottom somewhere. All of the players tell the guy below them that caller id is their responsibility, so they don't check what the clid is when you send it, since they don't know what numbers you are responsible for. We have a VOIP provider that pretty much told us as long as we only send numbers we own there isn't a problem.... the day we realised it was amusing taking two mobile numbers of our staff, spoofing two calls between their mobiles and joining them while listening in at the same time. "Hi Steve how are you going?" "Not bad? You" "Yeah just out at dinner, what's up?" "Um yeah about to go to the movies, how can I help?" "Er you called me didn't you? Did you pocket dial me?" "No you called me, I saw your incoming number" etc etc...... Call back again 5 minutes later with a third mobile number incoming to both of them, then again with people they are with... rinse repeat while they try and work out what is going on.