I agree that the problem is the league's negotiations locking the content down to specific viewing methods, but I disagree with your second point.
I think creating a good solid product wins. Something like www.ballstreams.com is much better than NBA League Pass. HBO Go is a better experience than your cable + HBO Subscription.
Good products and services win out in the long run. That's why this is even a debate - services like Netflix are destroying the cable companies. It's only a matter of time.
If ESPN built their own platform that was simple to use, worked wherever you were (without a cable subscription), and maybe most importantly did not have blackouts, I think they would make a killing.