Floodplains are weird, for one thing.
On a small scale you can improve a stream by forcing the water to turn, using stones or posts driven into the water. If you have the ability to build a bridge, you have some ability to change the direction of the water.
In a floodplain or alluvial fan, all of the land is sediment from the river, which means that at flood stage the river has been everywhere and during a flood, or over geologic time periods, the banks of the river can shift. Oxbow lakes are old bends in the river that straightened themselves out.
In theory, if you had a city that was built beside the new banks of a river, you could go upstream and rechannel the river to an old course, either to expand the city or for nefarious purposes.
Also Babylon is, I think, a weird case anyway. If you look at a map of the Fertile Crescent, you see that the Euphrates forks, and it forks a LOT. And Babylon is located between two of the outer forks. Convincing a river that forks to chose another fork might just require some megalithic technology - throw some big rocks in until the flow rate slows rather than stops, and evaporation takes care of some of the rest. Or a phalanx of pilons all driven into the shadow of the next one up river (think geese in flight), which is how you divert a stream.
Even if the river doesn't stop, it might not have enough clear water in it to sustain a city under siege. Especially if you can get them to surrender before the next rainy season washes away all your hydraulic engineering.