From the archives...
The following question was originally posted in the (now discontinued) LOE Forum.
When do you use "es" vs. "s" to make words that end in "o" plural?
Hero = heroes
Potato = potatoes
Solo = solos
Why do the words potato, hero, and tomato not end in "s" ? Whereas words like solo and avocado end in s?
The irregular -ES spelling of the plural is common with words that end in O, but it seems to be becoming less common. Many words ending in O are now listed with two spellings of the plural in contemporary dictionaries, especially newer words.
The variation is pretty understandable, I think. OES makes a little more sense phonetically (since we'd typically expect an O in a closed syllable, OS, to have a short vowel, whereas OE can say long O in the middle of a syllable). But simply adding an S is simpler morphologically and more consistent with how we usually form English plurals.
Just a few words always add -ES; the ones I know of are tomatoes, potatoes, embargoes, and vetoes. ('Heroes' is much more commonly spelled that with -ES than with -S, but some dictionaries list both.) My sense is that except for certain very old and well-established words like these, the simpler suffix -S may be gaining traction.
So probably it's simplest to memorize the ones that always add -ES and then be aware that you'll encounter some of them spelled both ways when reading.
You can see a list of the words ending in -OES by going to morewords.com and entering *OES in the search. However, keep in mind that this will give you all the words that MAY be spelled that way, so it includes some more commonly spelled -OS, and it also includes verbs (goes, etc.) and plurals of words that end in the phonogram OE in the singular (toes, shoes) as well.