This is a brief note I wrote three or four years ago on the plural of “octopus”:
People will tell you that this should be “octopi”, because it is from Latin, and Latin words ending “-us” are pluralized in “-i”. This, however, ignores two facts: (1) in Latin, common words ending “-us” may belong to one of three different classes (called declensions), and while it is true that the most common class (the second declension masculine) pluralizes in “-i”, the others simply do not – the second class (third declension neuter) pluralizes in “-ra” (e. g., “opus > opera” [work], “corpus > corpora” [body], to mention two words adopted by English), while the third class has plurals spelled with “-us” like the singulars, though pronounced slightly differently; and (2) “octopus” is not originally a Latin word at all, and does not belong to any Latin class.
In fact, “octopus” comes from ancient Greek (where it could mean an eight-legged thing, specifically an octopus, or a scorpion), and contains the elements “octo” (eight) and “pous” (foot, leg: this is also found in the famous name “Oedipus”, from Greek “Oidipous”, but it is less common to pluralize personal names; and the Latin equivalent is the word “pes”, plural “pedes”, from which English gets words like “pedal” and “pedestrian”). The hyperpedantic who wish to pluralize “octopus” strictly according to derivation should therefore use the correct Greek plural, which would be “octopodes” (pronounced “ok-top-odd-es”), or in English perhaps “octopods”. For the rest of us, “octopuses” will do just fine.
Postscript (2012/07/15): Latin does in fact have a native form equivalent to Greek “oktopous” or “oktapous” (meaning variously “eight-legged, octopus, scorpion”, referring also to crabs, and if Lucian is to be believed also the Greek form of a Skythian term for a person who owned a cart and two oxen). The Latin form is “octipes” (octo=eight + pes=foot), and is used of crabs by authors of the Augustan era. Its (nominative) plural would be “octipedes”; however, English sometimes forms classically-derived words from their stems, in which case “octipeds” would be the plural.
Octopuses are shown in Roman mosaics (including several from Pompeii), but extant ancient Latin texts prior to 200 CE appear to contain no instances of a Latin form (“octopus” or “octapus”) of the Greek term “oktopous” or “oktapous”. Instead, some Latin authors appear to use “polypus”, plural “polypi”, a form of the Greek “polupous” (polu=many + pous=foot; plural “polupodes” or “polupoi”, the latter as if from singular “polupos”), and origin of the English word “polyp”; which, however, now has a different zoological sense. Pliny the Elder’s Natural History, for instance, deals with “polypi” and other marine life beginning at 9.83.
Finally, to clarify, I don’t – for a reason I shall explain – have a particular objection to the use of “octopi” as a plural of “octopus” in English, though it seems to me the least good of the possibilities. The note above is, rather, a reaction to those who, presuming to correct others or impress with their learning, would contend that it is the sole correct plural, based on the supposed Latin form. But the fact is that Latin writers do not always use the Greek forms of loan-words, and sometimes treat them by analogy to standard Latin forms. The name “Oedipus” is one example of this: although Latin writers do commonly decline it like a Greek noun (a not uncommon practice with Greek names in Latin literature, since knowledge of Greek was not unusual for an educated, especially a literary, Roman; and Latin literature is deeply influenced by Greek), in both Plautus and even Cicero (long considered a model of Latin style and usage) there are cases where it is treated as if it were a Latin masculine name of the second declension (although Cicero also treats it elsewhere as a Greek form: one might speculate as to whether the inconsistency is his own, possibly for reasons of style or rhythm, or has arisen during the transmission of his works, and if so what his own normal usage was). The Latin “polypus”, plural “polypi”, follows the same pattern. If “Oedipus” and “polypus” can be treated this way by “good” authors, so can “octopus”; and since English “octopus” is a Latinized form of the Greek, there is no reason it should not behave like Greek loan-words in Latin; however, it remains fundamentally mistaken to assert that “octopi” is the sole correct plural in English.