Do the Eskimo have 40 words for snow or don't they? Well, it depends on how you want to cut the pie...
This language myth is pretty endemic to Canada and the United States and it's plagued with problems. There is no single Eskimo language, there is an Eskimo-Aleut family of languages, and none of the languages have an unusual number of words for snow. Most have just a few. Unlike other myths we'll look at which are usually rooted in racism or social bigotry, this myth was probably founded in an innocent misunderstanding of how Eskimo-Aleut languages behave. Eskimo-Aleutian tongues are highly polysynthetic.
In linguistics, synthesis is the ability for a noun to change meanings based on morphemes. For example, the word dog can undergo synthesis and pluralize with the morpheme -s, dogs. Synthesis is rare in languages like English and Mandarin, so we call them isolating languages. German and Japanese are mildly synthetic, meaning they are near the world average frequency of morphemes. Georgian and Hungarian are highly synthetic. But Eskimo languages are polysynthetic, they put Georgian and Hungarian to shame. Polysynthetic languages boast the ability to compound enormous sums of morphemes onto a single noun, so that you can make an entire phrase out of one noun that would normally take an entire sentence in English! Suddenly the Eskimo words for snow just got a lot more interesting.
A classic example from Eskimo-Aleut languages is Yupik's single noun tuntussurqatarniksaitengqiggteuq "he/she had not yet said again that he was going to hunt reindeer" (credit to Wikipedia on how to write that out). It is comprised of the noun stem tuntu- "reindeer" and a series of morphemes (morphemes much like the English plural -s): -ssur- "hunt," -qatar- "going to," -ni- "say," -ksaite- "did not," -ngqiggte- "again," -uq "he," "she." Only the word tuntu- has any meaning on its own (we call that a free morpheme), much like dog can have a meaning apart from -s but -s is dependent upon dog (a bound morpheme).
The way Yupik fashions words questions the very foundations of what a "word" is. In fact, linguists don't really have an answer. The problem is that when you create a definition for a word in one language, it cannot be universalized for others. The problem is so problematic in linguistics that writers of etymological dictionaries, who, with English, sometimes have to work with hundreds of source languages, call their entry word-forms lemma (pl. lemmata) rather than words. What's a lemma? "It's simply the standard form of a word suitable for dictionary entry; e.g., dog is a lemma in the dictionary, but not its plural." Okay, so then what's a word? "Please don't ask me that." With polysynthetic languages, the number of variations for a single lemma, based on morphemic attachments, approaches infinity.
So, how many words does an Eskimo have for snow? First, there's no discrete definition of a word for Yupik. Second, if you are counting by free morphemes, then the Eskimo have a normal number. Woodbury (1991) counted 32 words in Central Alaskan Yupik. Fortescue (1984) counted 17 words in West Greenlandic. I've never seen a wordcount in English, but we almost certainly have as many or more: snow, snowflake, blizzard, graupel, lake-effect snow, rimed snow, sleet, dendrites, snow granules, artificial snow, ground blizzard, powder, corn, cornice, crud, depth hoar, crud, snowdrift, zastrugi. I just selected those at random. Actually, I believe I could exceed 32 quite easily. You may point to some of those words and say they are too arcane. Well, Woodbury and Fortescue did not distinguish between arcane and regular lemmata in their lists of Yupik and Greenlandic, so why should we?