Mustn't there be a counterexample to any statement that's a generalisation, because if there weren't a counterexample the statement would be a matter of fact and not a generalisation?

It may help to distinguish between universal generalizations and statistical generalizations. An example of a universal generalization is "All swans are white," and a statistical generalization might be "Swans tend to be white." As it happens, that universal generalization is false, because some swans are not white, and the statistical generalization will be true or false depending on the context (in some parts of Australia, it may be a false statistical generalization). When people say things like "That's just a generalization," I take it they're talking about a statistical generalization -- a claim about how things tend to be, a claim about how things are substantially more often than not.

The reason that we expect statistical generalizations to have exceptions, I think, is that if the person asserting a statistical generalization were in a position to assert a universal generalization -- a logically stronger claim -- then he or she would. That's why the universal generalization "All triangles have three sides" sounds right and the statistical generalization "Triangles tend to have three sides" sounds odd. A universal generalization is false if there exists even one counterexample to it. A statistical generalization, such as "People tend to have ten fingers," can be true even if there are exceptions to it. Ideally, instead of an unspecific tendency claim, we get a more precise statistical statement such as "More than fifty-five percent of the world's population has brown eyes," which tells us the strength of the tendency.

Read another response by Stephen Maitzen
Read another response about Logic