The problem is to the greatest extent with lying greedy cable & telephone companies
The cable and telephone companies like to try to spread this lie that somehow the content providers are not "paying their share" it is pretty much a fat lie.
The reason the internet is popular is because there are places to go to, things to do and the like.
One of the great problems with the Telco stock crash of 2000/2001 in the USA was that there was not enough content available to bring in enough users of that content to be willing to pay enough to build out the infrastructure.
Now there is plenty of content, plenty of demand and lots of users. However the cable and telephone companies are stuck in the past, refusing to innovate and desperately trying to cling to the old monopoly model of doing the least for the most possible billing to both sides when you can get away with it. Matched with the standard "customer service" that is it's own hell where you can't cancel, change or get any help with anything other than "give us even more money forever".
What we need is more of a clean sweep of the laws that the cable and telephone companies have put in place to restrict competition and force them to properly open up, tell the truth to their customers & stop blocking better service.
If you want good internet then the first thing we need is true competition.
That means NO laws restricting cities / counties / governments / companies / organizations from setting up internet service for anyone anywhere.
Require service providers to actually list to the customer how much bandwidth they have total at each point in their network and at max load of all their subscribers online, how much bandwidth would be available to each subscriber from each point.
Require sign up and cancellation of services to be equally as quick and be able to be done without pressure and in a straight forward manner online as well as over the telephone.
Require exact price listings for exactly how much data you will be allowed to use at a base bundled price & how much additional data costs & legislate that the additional data costs must closely match the price that it actually costs the carrier.
Require data service to be offered without the need to bundle any other services & each added service must be listed as a separate option on the bill & removing or adding one cannot change the price of the others. Each service must be easily cancelled without pressure or delay or other
Legislate that the customer can use their data however they want at full speed and it is unlawful to artificially slow down, restrict or hinder lawful data traffic.
Now it would be perfectly fine for the cable and telephone companies to make deals with content providers to provide faster access by co-locating cache servers inside their own network etc., as well as providing the option to bundle extra content provider subscriptions with your bill if you wish to do so (much as Amazon and Hulu let you add other pay channels as well), they could even make providers that they co-locate servers for not count towards data usage as long as it is done in an open transparent manner and does not restrict choice and cancelling or adding services is quick and easy both online & over the phone without hindrance.