Canada is a younger and more immigrant country. It has three parties to America's two. And the divide between blacks and whites is much bigger then the Quebec Ontario divide.
Canada has much lower numbers of people per voting district as well, meaning there's less averaging out of opinion and more fine-grained choices. Canada has 35 million people electing 338 candidates, which is very similar to the UK's scale of electorates: about 1/7th the number of voters per delegate compared to the USA. In Canada, if getting one "average" city was enough to elect a third-party candidate, then in the USA you'd presumably need to get 4+ out of 7 similar-sized cities all leaning third-party at the same time. The Canadian parties won seats in rough proportions of 4-2-1, so 1 in 7 areas were third-party. If you stack 7 of those regions together, you have a USA congressional district. You can use the binomial equation to work out the odds that the third-party has 4+/7 of the sub-regions: about 1%. So if you had a party that was equally-popular in 110000-population regions, they'd win 14% of Canadian parliament seats but only 1% of American Congressional seats.
Since I wrote the code to work out the equations, I used it to work out how many 110000-sized regions (Canada sized electorates) you'd need to have the odds of winning 1 Congressional seat in the USA. It's about 1/10. So a party that won 10% of seats in a Canada-type FPTP system would only win 1/435 Congressional districts in the USA-sized electorates (about 1/4 of a percent). e.g. the thriving third-party in Canada with their 14% of seats (44 MPs), is barely above the threshold of sub-region popularity that would have got them a single Congressman in the USA. This shows how vital electorate size is to how winner-take-all electoral systems operate: the big issue isn't FPTP itself or any special trickery by the big parties, it's just that electorates in the USA have become so huge, and this by itself disadvantages third parties in a FPTP system, just due to the maths.
The Scottish parliament is actually elected differently from the UK one, in addition to consituency seats we also have list seats, which are allocated to parties sort of proportionally, but with penalties applied to parties that won constituency seats. If Scotland had used FPTP alone it would probably be an SNP majority in the Scottish parliament, but the way the votes for the list seats work meant other parties were able to get a big chunk of the list seats despite having a minority of constituency seats.
OK, so Scotland is using a version of MMP to elect it's own parliament. Which shows the difference therefore between a proportional system and a winner-takes-all system: the winner takes all system is delivering an almost 100% landslide, vs a minority government when it's done based on proportionality. Clearly, if there was one FPTP seat per voter, things would be completely proportional, but proportionality drops off as electorates get bigger.