I have long thought that ISPs should charge by bandwidth used. It would incentivize improving infrastructure. Any ISP that would charge by bandwidth used would want their customers reselling bandwidth.
No it wouldn't. The actual usage has a negligible impact on the expenses for infrastructure. Most people barely use any bandwidth anyway. Even on 1 Gbit/s lines the average bandwidth used is in the single digit Mbit/s. And the usage basically doesn't differ if they have a 100Mbit/s or 10Gbit/s connection. Also those countries where data caps are still a thing are generally those with the worst Internet.
I work for an ISP in Switzerland. If you download a game you use 1Gbit/s+ for a few minutes instead of an hour or two. The average bandwidth used stays the same.
Both don't require a lot of bandwidth and you have caches for their content.
You can buy additional data if you've used your included data. That's basically the same.
The utility from which I buy electricity charges me per kWh consumed. They earn more revenue when I use more electricity. If they charged a flat $100 per month like my ISP, they would, like my ISP, cap my usage.