Double plural should not be confused with Reduplicated plural.
A double plural is a plural form to which an extra suffix has been added, mainly because the original plural suffix (or other variation) had become unproductive and therefore irregular. So the form as a whole was no longer seen as a plural, an instance of morphological leveling. For example, if "geese" (the plural) became the word for "goose" (the singular) in a future version of English, a word geeses might become the licit plural form.
Examples of this can be seen in the history of English and Dutch. Historically, the general English plural markers were not only -s or -en but also (in certain specific declensions) -ra/-ru (which is still rather general today in German under the form -er). The ancient plural of child was "cildra/cildru", to which an -en suffix was later added when the -ra/-ru became unproductive; the Dutch plural form kind-er-en and the corresponding Zeelandic form kind-er-s are also double plurals which were formed in the same way as the English double plurals, while for example German and Limburgian have (historically conservative) single plurals such as Kind-er.
Breeches is an example involving an old plural that did not use a suffix. It was formerly breech which came from Old English brec which was the plural of broc.