I simply won't blame it on roster composition, sure there's a factor there, but with any of the top 50 players in the country you should win, period.
The failure actually started about 8-12 years ago. When everything went only high skill, now that's great, but you end up with exactly the team and game you saw.....
Latvia played hard, (aggressive, hitting) and as a team and came away with a win.
Canada used to win, because it would pound you out of the rink all night above everything else. Go watch games from the last 25 years, all superstars are hitting everything. Crosby, Tavares, you name it.
There was also no real forecheck, or down low play, no cycle (aside from working it up to the point). Shots were weak, with no screens or tips in front of the net. They just carried it In, delayed at the hash marks, went back to the point. Nothing wrong with that, but won't do anything for you without the other ingredients.
It was still somewhat entertaining, but ultimately an incomplete game and philosophy for success that's been compounded at all levels now.
Same as NHL regular season vs playoffs, totally different games.
Canada will be an average team overall in Hockey at all levels until it returns to a complete game. (this will only get worse as this was really the first complete wave of players).