What's so great about it?
First of all, football does not lend it self well to all star games, because of the physical nature of the game. You end up with a game that barely resembles football.
Secondly, it's played after the season, so naturally nobody gives a shit. This includes to players, who essentially need to be bribed to show up by being offered a free trip to Hawaii, and then half of them fake an injury and refuse to go anyway. The fans don't care either, judging by the half empty stadium and fraction of a TV rating it pulls down.
They really should just name the teams, and not bother playing the game. Nobody would miss it. This way, guys wouldnt have to pull out for "injury", the Super Bowl participants wouldnt have to be replaced, and we wouldnt have 150 players calling themselves "Pro Bowlers" every year. It's just silly. Scrap the shit.