Like everything it is a factor of supply and demand. On the demand side there is not as great a demand from employers for software engineers in Canada, on the supply side immigration is considerably easier into Canada for software engineers. Less demand and greater supply = lower wages. We have the same issue here in Australia.
US benefit far more from big large single market with high purchasing power than anything else. IMHO.
Let me know if I am missing something here.