As someone from Toronto who has been watching this tournament since 2000, I'll say this. I prefer when the tournament is in Europe.
I also do enjoy the Halifaxs, Saskatoons etc... But here are some reasons why.
-It felt special that this was an international tournament, now that it has basically been within a two hour drive of me 4 times since 2011, it feels less international to me cause it is right here. That may sound weird, but it just feels like another event that Toronto has (We never used to get anything, and now we've had too much! Don't forget the PanAms as well).
-Being in Europe, the games are in the morning, and maybe this is childish, but that "waking up on boxing day to watch Canada play" feeling is real. I take vacation (but can't afford to go anywhere) during the Christmas break, so I have plenty of time to watch the tourney. Waking up early with nowhere to go, and watching a game over breakfast and coffee is amazing. Now, games are primetime, competing with NHL and NBA, so I have to prioritize. Early in the morning, nothing competes with the WJC.
-The European crowds. They are amazing. Its the same corporate Leafs crowd here in Toronto. Well not quite. It's a bit more rambunctious, but it does not compare with the joyous European crowd which adds an extra element to the tournament.
-Yes, I love the Canada-US rivalry, but I love seeing the others such as Sweden-Finland. But when it is here, you just don't feel it.
As others have mentioned, it needs to move away from these huge markets. I'd love to see it in jr hockey places such as Kelowna, Moncton etc... As well as US cities. Somewhere in Minnesota is dying for this maybe Duluth sharing with Minneapolis, as mentioned, the Grand Forks year was amazing. What about even Rochester, Minnesota and Dubuque or Des Moines? Maybe that is going too far. And of course, more in Europe.