besides population, the other thing that hurts Canada is population distribution. overall our population is fairly spread out and imo that has an impact on our ability to produce a higher number of high quality athletes even though we are a fairly affluent nation. britain is a good example of the opposit of this; their population is about double that of Canada's but crammed into an area about 1/4 the size of bc. another way to look at it is per square kilometer. bc would need to have a population of about 256 million to equal the population density of britain.
Ultimately, its all about funding. In the last 19 Summer Olympics between 1936 and 2008, Britain finished @ 10th place or lower in medal rankings 17 times. The impetus was the 2012 London Games that lead to better funding for sports (infrastructure as well as training). The result was 4th place in 2008 and 3rd place in 2012.
Given our levels of funding, I think Canada does OK, given we are more competitive at the Winter Olympics.
Australia, a powerhouse since Sydney 2000, has been on the downswing and could get knocked down a few pegs this Olympics.
Jamaica is kinda cool … 64 of their 67 Olympic medals have been in track sprint events (100m, 200m, 400m and hurdles and relays).
https://en.wikipedia.org/wiki/Great_Britain_at_the_Olympics
https://en.wikipedia.org/wiki/Canada_at_the_Olympics
https://en.wikipedia.org/wiki/Australia_at_the_Olympics
https://en.wikipedia.org/wiki/Jamaica_at_the_Olympics