Biggest reason why it's not "free" is because, well, nothing is really free. But most things at least are very cheap when it comes to getting it.
Compare cell phones with land-line phones. Cell phones still tend to be more expensive than a basic land-line phone because cell-phones actually use up a resource. Land-line phones don't. On a land-line phone there's something of a physical connection between the caller and the callee. (Even if that physical connection is a bit more muddy than it was in the past.)
You're not really "using anything up." You being on the phone doesn't prevent someone else from being on the phone and the infrastructure for the system is fairly easily and cheaply built and maintained.
Cell phones, however, actually use something up. Air waves, bandwith, capacity of towers and servers, etc. etc. One person on a cell phone means one less person somewhere that can be on the same system. Now, sure, the system has greater capacity than it has in the past but it still is limited. Cable internet is the same way, you've probably noticed "down times" when a lot of people in the same system are on-line.
Internet isn't "free" because it takes a lot of money to maintain the system and the system can only handle so much at once. Were it free the internet would be useless because it wouldn't be able to handle the demand.
Cable TV isn't free because it takes systems and equipment for it to exist. Satellites have to be used/maintained, dishes, personel, wiring, equipment. It's much different than a basic TV station where a signal is sent out and anyone in the area with the right equipment can simply just pick it up out of the air. What infrastructure there is is maintained by ad revenue.
Someday we may get there. Someday the expense of building and maintaining the infrastructure for the internet will be much cheaper, someday that infrastructure will be vast enough to accommodate high demand. And that day may be soon but it'd require investment and some sort of supplement to the costs which would mean more advertising on the internet. Because no matter what it won't be so cheap to run/maintain that it can be handed out without any income whatsoever.
Cell Phones may get there someday as well, prices on them have already came down pretty good over the years but they still tend to be high especially with internet.
But we'd need a much larger infrastructure and even then some other way for the companies to make money, meaning something being charged or ad revenue.
This is exactly what I'm talking about.
People focus on 'money' or 'how much it costs', yet it has nothing to do with actual resources or out technological ability to, for example (and I'm just naming 1 thing out of many), provide bandwidth in abundance to everyone today (which is more than possible).
Instead of using outdated technology in towers and materials that limit bandwidth, efficiency, not to mention upgrade-ability, we should be using best/superior synthetic (man made) materials that we can produce in abundance, along with best possible technology and efficiency (which is simply NOT done within Capitalism) - not to mention recycle (instead of extracting new resources) everything.
You may see some companies upgrading here and there, but they are still using (mostly) outdated technology and effectively provide 'revisions' instead of actual 'innovations' or 'technological evolution'.
Instead of using humans to do the work, use robots/machines (which can be done btw).
75% of the global population can re put out of work tomorrow by robots/computers.
No one is 'irreplaceable' for that matter because there are millions of sophisticated algorithms running on servers right now learning everything we do in record time - which is something humans cannot compare with.
Money is an obstacle - a nuisance that has to be grinded into dust (which only persisted for as long as it did because the general population lacks relevant general education).