The explanation behind this is tied up with the bizarre history of the Traditional English pronunciation of Latin. I didn’t find an explicit explanation of what happened with species, and in fact the rules in that Wikipedia page took me in a slightly different direction to where I hoped to go.
But here goes. I apologise for fauxnetics in the following.
There are two rules at play here.
- -i-es (which would originally have been pronounces like –yeez) gets merged into –es (pronounces –eez). Aries is pronounced identically to Ares; rabies is pronounced identically to rabes. Originally, they would have been pronounced Air-yeez, rabe-yeez.
- An i before another vowel was pronounced as a semivowel (y): e.g. –ies = –yeez above. The combination sy ended up pronounced as sh. Russia > “Rusha”. Nation: na-si-on > na-syon > na-shon. Special: spe-si-al > spe-syal > spe-shal.
Now. If Rule number 1 gets applied to species before Rule 2, you get:
- spē-sēs (Rule 1: -ies > -es)
- = spee-seez. There is no place for Rule 2 to get applied: there’s no sy any more in the word.
If Rule number 2 gets applied to species before Rule 1, you get;
- spē-shēs (Rule 2: -si-e- > -sy-e- > -sh-e- )
- = spee-sheez. There’s no place for Rule 1 to get applied: there’s no -i-es any more in the word.
So there’s a timing conflict: if both rules were happening at the same time, it’s a matter of which rule got there first. And both pronunciations survived, because some speakers (or rather, some schools) applied one rule first to species, and other speakers (schools) applied the other rule first.
This kind of conflict btw is routine in historical linguistics; we refer to feeding vs bleeding rules (where a rule gets preempted by another rule).
Now, to me, spee-seez is a more posh pronunciation than spee-sheez. I don’t see an explanation for that here. I see something related in the pronunciation of ratio as ray-shyoe rather than ray-shoe: the -y- was put back in to reflect the spelling, as a hypercorrection. But if anything, that would suspect that spee-syeez > spee-sheez was the academic pronunciation, which doesn’t sound right to me.
So yes, English pronunciation is random, particularly English pronunciation of Latin. But it’s not inexplicable.