Proto-Indo-European had many possible words for water. Most famous is *u̯ód-r (from which we get English water) because of its similarity to Proto-Uralic *weti "water." But no less compelling is a mysterious trio of waterwords that look remarkably similar, yet cannot be reduced to a single etymon. It may be there was a feature in Proto-Indo-European that we cannot reconstruct that changed the phonological nature, it may be that all three etyma arose from a pre-Proto-Indo-European state of the language, or it may be that the similarities are due to chance and happenstance.
*h2ekw- Derivations in PIE *h2ekw-ró-, whence PG *agra- "flood;" *h2ékw-eh2-, PI *akwā- and PG *ahwō- "river;" *h2ekw-ieh2-, PG *aujō- "wetland," "island."
*h2ep- Found in PI *āpā-, PGk. *āp-, PBS *āp- and PT *āp; PIIr. *Hāp-. Derivations in PIE *h2ep-h3on-, whence PC *abon- "river."
*h2ebh- Derivations in PIE *h2ebh-o-, h2ebh-n-, whence PA *h2ebo-.
PA = Proto-Anatolian; PBS = Proto-Balto-Slavic; PC = Proto-Celtic PG = Proto-Germanic; PGk. = Proto-Greek; PI = Proto-Italic; PIIr. = Proto-Indo-Iranian; PT = Proto-Tocharian
Of the three, *h2ep- has the strongest attestation, but *h2ebh- has the oldest. Early Proto-Indo-European may have been *h2ebh- that unexpectedly devoiced after the Anatolian branch departed. On the other hand, if there were an environment factor, *p may have been voiced (we see this happen in *-ph3- > *-b-), but it's hard to see why it would yield an aspirated *bh instead of *b. So it's easier to see this going from Early PIE *h2ebh- > *h2ep- than the other way around.
Then there's *h2ekw-, which is tantalizingly close to *h2ep-. Biarticulation of a rounded consonant, like *kw and *gw, frequently vacillates with *p and *b respectively. We saw this happen over and over again in Celtic, where *p became *q [kw] and vice-versa several times over thousands of years.
Germanic languages do not preserve *h2ep- in any form (unless Old Icelandic afr "oat drink" comes from *h2ep-ro-, but that is my private theory). But Italic languages have both *h2ep-, in Oscan aapa-, and *h2ekw-, in Latin aqua. Because attestation of *h2ekw- in Italic languages was limited and competed with *h2ep-, and because the only IE cognate was in Germanic, it has prompted some (like Beekes) to argue it's a loanword from outside. It may be, though it's difficult to believe words for "water" are easily borrowed and utterly replace any native words so thoroughly that Latin does not have it.
Whatever solution you find, the three etyma are a pernicious mystery. Cranberry Letters out.
Proto-Anatolian from Alwin Kloekhorst, Etymological Dictionary of Hittite. Brill. 2014.
Proto-Celtic from Ranko Matasovic, Etymological Dictionary of Proto-Celtic. Brill. 2009.
Proto-Germanic from Guus Kroonen, Etymological Dictionary of Proto-Germanic. Brill. 2009.
Proto-Italic and Proto-Indo-Iranian from Michiel de Vaan, Etymological Dictionary of Italic Languages. Brill. 2009.
Proto-Greek, Proto-Balto-Slavic, and Proto-Tocharian etymologies were my own.