I don't know if this is a factor to their great ticket sales or not but like MLB, the NHL has a really good minor league/farm system with teams located in "minor cities" across America so they have a good connection not just big big cities/big market but smaller cities too.
Example: They got New York City covered with the Rangers and Islanders but their minor league teams are Albany Devils, Binghamton Senators, Syracuse Crush and Rochester Americans. They got the entire New York state covered. With that kind of connection, they have a good fan support from big and small cities to sell tickets.
Baseball and hockey fans don't laugh at their minor leagues like NBA fans do with the D-league. They actually care about their farm teams.