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.