NASCAR evolved from the South, and there was a negative association with it, as in people from the south (who they stereotyped as 'rednecks') were big-time fans. Now, NASCAR is a billion dollar industry and there's big money to be made everywhere. There are big races in lots of major cities now, like Chicago and Las Vegas, and it's quite popular everywhere.
I would guess more fans are 'blue-collar', not that there is anything bad with it. I think the term 'redneck racing' just comes from NASCAR's roots, which I think has a negative connotation and still lingers to this day.
That said, I'm not much of a fan of NASCAR, I'd much rather watch Formula 1, where they actually do something besides turn left.