Ostensibly, all three of your examples do exist to improve society. The NFL exists to support a widely popular sport, the Heritage Foundation is there to propose changes that they theoretically believe are better for society, and Scientology is a religion that will save us all from our bad thetans or whatever cockamamie story they sell.
A non-profit has to have the intention of improving society. Whether their chosen means is (1) effective and (2) truthful are separate discussions. But an entity can actually lose non-profit status if it is found to be operated for the sole benefit of its higher ups, and is untruthful in its mission. It is typically very hard to prove though, just like it's very hard to successfully sue a for-profit CEO/president for breach of fiduciary duty.
It would be nice if we held organizations to their stated missions. We don't.
Perhaps there simply shouldn't be a tax break. After all if your org spends all its income on charity, it won't pay any tax anyway. If it sells cookies for more than what it costs to make and distribute them, why does it matter whether it was for a charity?
Plus, we already believe that for-profit orgs can benefit society, in fact part of the reason for creating them as legal entities is that we think there's some sort of benefit, whether it be feeding us or creating toys. So why have a special charity sector?
A non-profit has to have the intention of improving society. Whether their chosen means is (1) effective and (2) truthful are separate discussions. But an entity can actually lose non-profit status if it is found to be operated for the sole benefit of its higher ups, and is untruthful in its mission. It is typically very hard to prove though, just like it's very hard to successfully sue a for-profit CEO/president for breach of fiduciary duty.