US would win even more. There were too many stars on this Canadian team, not enough players. Very overrated team after they beat Germany and Austria. Stars rarely win anything, and they have always hard time coming back from behind. They are psychologically not used to it, since everything is easy for them.
Comparing rosters in an tournament does not give full picture. It's a team sport. Besides you don't need top offensive talent to shot down the other team. 3rd period was all that. It's not like Canada was better, US simply changed the plan to defend and push them to the outside.