None of the pro sports has an all-star game more irrelevant than the NFL. It was bad enough that the league used to host the game after the Super Bowl, so as to be anti-climactic. Now the game is hosted the week before the Super Bowl, assuring that nobody from the two best teams in the league will play.
I mean, why would anyone want to see Drew Brees, or Peyton Manning, or six other Colts play, right? Check out this article for yuks.
All other sports host their games mid-season. I know the NFL is rightly concerned about injuries occurring during an exhibition game. Why not just have a skills competition? The NHL does it, and it's every bit as entertaining, or moreso, than the actual all-star game.