OK,
So I only pay for "internet" by one of the local providers in my town. I do not have any more "cable TV" service, nor U-Verse (although ATT is my internet provider) and I've never had any form of satellite TV.
So, why is it when I try to add say "The Fox Channel" to my Roku, or any other similar/basic channel that a local cable TV provider might allow me to access for free while using even just their "basic" service, I get a screen that pops up on my Roku essentially saying "contact your local cable provider for this channel"?
I mean, aren't these non-pay channels available to stream by anyone using the internet?
Short answer, nope. Those channels aren't "free" with a basic cable package as you're paying for that package and some of that money goes to the providers of that "free" channel. Providers want to get paid one way or another.
Those are typically "TV Everywhere" channels. They are tied to having a cable/satellite subscription. In some cases, subscriptions to similar Internet TV like YouTube TV or Philo will also work. They are not designed to replace cable, but to offer an alternate way to watch outside of your cable box.
Those "free channel" apps give you more than just the live stream of what is currently airing. They also give you on-demand streaming of previously aired content. Most providers are not going to offer that option for free.