In the IIHF, as far as I understand, even if you hold dual citizenship you have to play two years in the domestic league of the country to be eligible if you never lived in that country.
EX: An Italian-Canadian born and raised in Canada, who holds dual Italian and Canadian citizenship needs to play 2 years in the Italian domestic league to be eligible to play for Italy internationally.
In FIFA however, you can decide to play for a country you are a citizen of regardless of where you played/grew up (as long as you haven’t already represented another country at the senior level).
EX: An Italian-Canadian born and raised in Canada could decide whether to represent either Canada or Italy internationally, regardless of where he grew up or plays currently.
Which one is better?
If IIHF moved to the FIFA policy, a number of teams with large emigrant communities in Canada and the US (think Italy, Greece, Portugal, former Yugoslavia, UK, Ireland, Eastern European and some Asian countries) could get huge boosts overnight and the competiveness of global hockey would increase greatly.
Of course the flip side is that it could weaken national development programs as teams rely on Canadian trained players with various origins.
I’m in favour of the FIFA policy, looking at the World Cup now and seeing Algeria with 16 French born players. I have several Algerian friends who tell me their country is going crazy right now, and their success would never have happened without these “foreign” players.