This is a good question. Many people watch football. There are more divisions. Yet, NASCAR holds 17 out of the Top 20 most popular single-day sporting events in the United States. Where the games/races interfere with each other on TV sometimes, fans have to choose. It's a hard question. You will meet some who will say NASCAR and others will say football. I don't know for sure.
Companies sponsor NASCAR itself, such as Sprint, which purchased the naming rights to the premier series. Fans buy tickets, merchandise, and food as well, and I'm not positive, but the tracks might have to pay NASCAR just to be on the schedule. Also, NASCAR makes millions of dollars off of TV rights from FOX, TNT, and ESPN.