One problem they face is that there are really only nine NHL teams with solid fan support ... these include the Original Six, plus Philadelphia, Buffalo and Edmonton. When I say "solid fan support," what I mean is that any of these teams could get 17,000+ fans into an arena to watch a home game late in the season even if the team is out of a playoff spot.
It's kind of startling, really ... especially when you consider how many Canadian teams aren't included (Ottawa, Vancouver and Calgary). These are among the vast majority of NHL teams who rely heavily on casual fan support that tends to diminish substantially if the team isn't successful on the ice.
This makes it incredibly difficult for the NHL to build a national fan base. So much of the game's appeal is regionally based and tied to long-standing rivalries that date back many decades (Toronto-Montreal, Detroit-Chicago, Montreal-Boston, etc.).