Most things I’ve read and people I’ve talked to (academics, linuguists, teachers) on the topic say English has the largest vocabulary. There is, of course, no way to measure the absolute total number of words in the language - you could take the OED and Websters and combine them. If you added all accepted slang and dialect words - assuming this were possible - the total would increase immensely, but are they English words? Where I come from, we say “nowt” for “nothing”. Most English would understand this, I believe few North Americans or Australians would. So is it an English word or not? The American slang “buck” for dollar is also understood by the majority of English - we are much more familiar with US culture than they with ours - so is this an English word, even if “nowt” is not?
Then, adding all technical vocabulary from engineering, sciences, technology etc. would double the total again, even if you could find every term in every field.
Other languages pose similar problems, and have some of their own: as mentioned above (in relation to Danish) some languages prefer compound words to entirely new ones. For example, the German language has been (until the recent advent of IT) resistant to the integration of foreign words: a German feels more comfortable with a word he can analyse and take apart - a compound word made from existing German words, whereas the English language loves to integrate new foreign words that cannot be broken down into smaller, understandable pieces.
While English-speakers use Greek or Latin words daily, a German is more likely to use a German word, although the Latin/Greek word also exists in the German language. A German will know “Zwischenhölle”, literally middle-hell, but probably won’t know the word “Limbus” - both meaning “limbo”. Equally, although doctors use Latin and Greek terms for illnesses and ailments, most diseases also have a more common German name, usually graphically describing the problem.
It is this trait of English - to willingly accept foreign, strange words, even when we already have 10 perfectly good ones - which has made the language grow to its current size. When a new concept or object arises, we have no problem inventing or borrowing an entirely new word for it. A German will most likely stick between two and five existing words together, depending on the complexity of the object / concept.
Another factor in the huge size of English and the redundancy of vocabulary was the number of races living in England. As has been mentioned, the Danes, the Angles, the Romans and finally the Normans all invaded England and brought a language with them. What is now modern English grew through the influences of these languages. We still use expressions today, like “kith and kin”, “neat and tidy” with two words meaning the same thing. Why? Each word came from a different language. Equally, we have many concepts for which there are two (or more words), a common Germanic word and a more eloquent French one, thanks to our Norman rulers: start and commence, allow and permit.