The four-element genre-set of shounen-ai, shoujo-ai, yaoi, and yuri do not match the Japanese usage of these terms at all.
"shoujo-ai" and "shounen-ai" are said to in japan to traditionally mean "lolicon yuri" and "shouta yaoi", respectively. "Yaoi" is a comparatively obscure term for "plotless porno BL". And "Yuri" refers to all of GL in general.
In essence, in English, they're messed-up loan-words. Japanese fandom does this with english words too, so that's okay.
In usage in (parts of) the English fandom, the evolution is beleived to be something like, "Yaoi" got used for gay stuff, "shounen-ai" got used to distinguish more tame (not-sexy-time) gay stuff, "shoujo-ai" got adopted as an analogue, turning "yuri" into meaning more-explicit stuff.
The fandom is split on this issue—yuri in particular means something close enough in Japanese and English such that there's an ongoing fight over it's meaning. Some fans prefer the shoujo-ai/shounen-ai, yaoi/yuri symmetry (which many consider standard); others would prefer to abandon (or perhaps more weirdly and arbitrarily, relegate to only to "super pure no kissing even stuff") the "shoujo-ai" term.