Not really. Sure, building and maintaing the *capacity* costs money. But that's a fixed cost regardless of how much of that capacity you actually use. That's very different from water.
No, not really. It is a fixed cost, but capacity is explicitly limited by that initial investment. And it is a very significant cost both to initially install and upgrade. Its costs a lot of money to rip pipes out of the ground to replace a 6" main with an 10" main. Likewise, it costs a lot of money to replace a 100Mb backbone segment with a 1Gb segment.
When a subscriber upgrades their 1.5Mb line to a 10Mb line, they expect to only pay a nominal increase (or more likely get the increase for the same price). They have no concept that actually supplying that backend (an order of magnitude increase) is an immense capital cost. And that subscriber has no intention of paying that capital cost... That means the ISP has to spread that cost out over many years. Yet somehow the user now expects orders of magnitude speed increase every year or 2??? Cost wise, equipment wise, backbone capacity wise (as far as spectrum/etc.) it simply is not feasible.
And don't give me this crap argument "well then they should have built it right in the first place". The real world has real costs. I can install a hypothetical 1Gb backbone now for, lets say, $15,000. I could also install a 10Gb link for $110,000. Spread out over 2 years with 300 customers, that 1Gb backbone (one of a dozen or more you will need) amounts to an increase of $2/month on every customers bill (excluding the cost of borrowing). That 10Gb link will cost each of my customers an additional $15.28 every month.
If I have 300Mb real bandwidth requirements on that particular segment today, does it make any sense for me to install the 10Gb link today? When I will not utilize it for years? When my customers will not pay for it today? Yet somehow several years from now customer expect that 1Gb circuit to magically upgrade itself to 10Gb without any cost.... real money, it's what its all about.