Why is "man" in "Snowman" pronounced differently than in "Frenchman" or "Englishman"?

In a comment to the original question, Greg Lee wrote the following brief answer:

"Snowman" is a noun-noun compound and so has primary-secondary stress, but "Frenchman" is not a compound (though etymologically it might have derived from one) and so has the same stress a morphologically simple word would have.