Data caps have always been a scam because they don't match the economics of providing service. Idle capacity goes to waste, and there is always idle capacity during off-peak hours (that's what off-peak hours are), so deterring usage during those times is wasteful and spiteful.
You could have on-peak data caps, but then you'd have people who e.g. watch an hour of streaming a day hitting them because they do so at the same time as everybody else does, and then the people clamoring about someone else torrenting "all day long" would find themselves hitting the cap, because their usage is during peak hours and what somebody else is doing after midnight or before 4PM is irrelevant.
The better solution is to simply sell connection tiers with different speeds. If you pay for 200Mbps, the network is designed to be able to provide you with 200Mbps during peak hours. Not that you have 200Mbps dedicated but rather that under typical actual aggregate load, there will be 200Mbps of capacity available for someone on your service tier to use. Meanwhile if you try to download something at 3AM, you might get 1000Mbps, because why not? Nobody else is using it. But someone who wants to pay less can buy less expensive slower service -- slower, but only during peak hours. If the person who pays for 50Mbps wants to download something at 3AM, they can get 1000Mbps too, but at 7PM they're getting 50Mbps instead of 200.
The actual reason cable ISPs like data caps is that it discourages people from using video steaming services (which eat up the cap even when used off-peak) rather than subscribing to cable TV (which does not).
You could have on-peak data caps, but then you'd have people who e.g. watch an hour of streaming a day hitting them because they do so at the same time as everybody else does, and then the people clamoring about someone else torrenting "all day long" would find themselves hitting the cap, because their usage is during peak hours and what somebody else is doing after midnight or before 4PM is irrelevant.
The better solution is to simply sell connection tiers with different speeds. If you pay for 200Mbps, the network is designed to be able to provide you with 200Mbps during peak hours. Not that you have 200Mbps dedicated but rather that under typical actual aggregate load, there will be 200Mbps of capacity available for someone on your service tier to use. Meanwhile if you try to download something at 3AM, you might get 1000Mbps, because why not? Nobody else is using it. But someone who wants to pay less can buy less expensive slower service -- slower, but only during peak hours. If the person who pays for 50Mbps wants to download something at 3AM, they can get 1000Mbps too, but at 7PM they're getting 50Mbps instead of 200.
The actual reason cable ISPs like data caps is that it discourages people from using video steaming services (which eat up the cap even when used off-peak) rather than subscribing to cable TV (which does not).