With all of the development on the cities there is concrete everywhere, because of that the water can not infiltrate. Due to this the water is running into the drains and straight to the river, taking less than an hour for it to get to the river. Causing the river to rise.
After lots of trees go, the water infiltrates straight away, saturating the ground. When it is full the water will just run off the surface straight into the river, because it cant intercept.
Also when the forestry is being cut down it uproots all of the sediment in the ground, causing it to fall to the bottom of the river, making the water rise e.g. Bangladesh.
When river are changed, they don't always go the way you want them to go. This method can stop flooding somewhere by changing the river (deeper), but it will just flood down stream (river ouse). Or when putting up big levees, the water can go over the top of it but not be able to get back in, therefore flooding a town on a big scale.
Snow is melting causing more water into the seas.
We are getting more precipitation, due to more evaporation by climate change.
This means things such as deforestation, compaction of the soil (from cows and machinary), and soil erosion (due to bare soil being washed into the water).