Would not building in floodplains help? Not really because lots of our towns/cities are already built on flood plains. A large proportion of London is built on a floodplain - historically its always been done for a multitude of reasons. I would suggest its going to go on happening.
There is no reason why new development can't take place on flood plains so long as sufficient mitigation measures are taken to protect against flooding.
If you build flood defences you stop the water from using that area: Great. However the water then has to go somewhere. Further downstream the water level and speed increase putting the risk of flooding up. This has happened on the River Seven. Places have been saved and others put at risk.
Allow water to use flood plains. The water is then slowed from draining allowing it to be absorbed into the ground adding to the water table and reducing flooding down stream.
Edit to add: York is a good place this can be seen. If you run along the river there are massive Levies to keep the water off agricultural land. The capacity of this area is huge. Allow the area to flood and you would reduce the strain on the river and decrease the effects of flooding, even if only by a little. If this is done in lots of places an effect would be noticed.
Reverse flooding in London where the tide comes up the Thames is also an issue. The Thames has been built up to stop water escaping. This works for high tidal conditions by pushing water up stream and risking flooding London. Costal areas that were reclaimed and 'flood protected' have now been 'unprotected'. This has had the effect of reducing the ammount of water going upstream reducing flooding.
Council planning applications: If an area of land wants to be used for development which is a flood plain that an area of land with flood defences on must be allowed to flood. Land in = Land out. Not practical, but then neither are flood.