There are several differences. First, it is known that the virus more likely spreads when someone has been in close contact with another for 15 minutes or more. I heard Ross Dellenger on radio yesterday, and he just did a big story on contact tracing. That's why there may be more concerns with basketball than football. The SEC requires football players to wear a device that keeps track of how close you are to people so that they can trace it if someone ends up positive. They have found that opponents are not really spreading the virus on the field because of how football is played. You tackle, and then go back to your side. Basketball is different.
Most people also don't hang around others for 15 minutes while they shop. Second, fans still cheer, scream, and talk while at games. While I avoid Wal-Mart, I don't think you find this for a two hour period in a store.
I have no issues with masks. They are better than nothing, and I am a believer that they help. However, they aren't 100% effective.