Ah good question. I've found from working in insurance there's 2 main reasons.
A: They didnt check with FEMA(who believe it or not, defines what is and isn't a flood plain and they (fema) screw this up OFTEN).
B: The bank, owner, builder, insurance company researched historical records and found that even though its a low lying area, there hadnt ever been a flood there. (IE Columbus Indiana in 2008 and parts of New Orleans in Katrina)
FEMA is the federal agency responsible for setting flood plain maps. The law is very pointed as the the boundary lines. Literally, I've had people not be eligible for flood insurance on their home because the boundary ran halfway thru their back yard. Also, FEMA fails to update these flood plains with any consistency nor do they take into account how man-made objects affect the water flow when floods due occur. Example, Columbus Indiana in 2008, another reason that town flooded fully was because just the year before, they'd spend millions creating a brand new, never existed before raised road north of the town that ran near the river, the few culverts put in were too small and too few to allow the water to flow outwards away from the town, instead, the water back filled the dam, which busted, then levi's along the spillways were breached and the rest is history.
Roads, housing developments etc, all affect the water run off and change the flood basin, but does anyone think of checking into this no. So what happens is this, a home built in say 2000 before the road was even planned or thought about was safe, no where near a flood plain, road is built in 2007, now they are in a flood plain and didnt even know the road put them in perile.