Voight
#winning
The 2004 World Cup happened because Bettman wasn't planning to return to the Olympics after Salt Lake City and he wanted to reestablish the World Cup as a regular event. Once Vancouver was named the host city for 2010, everyone knew that the NHL would continue participating in the Olympics. The only reason that it wasn't cancelled is that the final was played the day before the collective bargaining agreement expired, and both the league and the union wanted to use event revenues to build up their reserves.
2016 was the same story. Bettman didn't want to go to Pyeongchang and he wanted the World Cup to replace it as the top international hockey event. Its relative lack of success convinced the NHL to revisit Olympic participation.
2006 and 2010 Olympic participation were written into the 2005 CBA... players love the Olympics and wanted to have it in writing. In 2012, they thought the league would act in good faith so they did not put 2014 + 2018 in the CBA.... the NHL decided to be nice and let them go to Sochi but then said no to South Korea.
Hence why last year they put Olympic participation back into the CBA last year.