All those who've said it's due to the cost and access issues are correct.
Many of you also forget or don't know what it's like to be a "casual" hockey fan. The game is not easy to understand and often looks like complete chaos. I think a lot of people catch it here and there, sit and watch and have no idea what's even going on. I didn't follow hockey until my 20's and I still struggle with every game-play and strategy concept.
Football has that too, but with the game cadence, the nuances of each play can be explained by the announcing team, or the people you're watching with who have a better understanding than you. You can also get that in-depth understanding from playing video games - you get to call your plays, understand the situational nature of what plays are likely to work best, how different players can be exploited in different ways.
You can't do that with hockey because it's constant action. Basketball has the same, but its strategies and concepts are much more obvious because ultimately it's being played at running speed, not ice skating speed.
With video gaming becoming so ubiquitous, it's possible both problems can be "solved". You can have people playing an enjoyable simulation of the game that will pull them in, similar to if they'd played for real, and may help them understand the game better (though I have to say I spent many hours playing NHL on Sega and I don't know how much it helped in that regard). I've thought for a long time that the best marketing the NHL could do is make sure every kid with a Playstation or Xbox has a copy of the top hockey game available to them the moment they plug the machine in for the first time.