The first sentence is factual whereas the second is purportedly a conclusion based on the first. The correct answer should therefore weaken the link between the fact and the argument.
Spend 2 seconds trying to predict what could possibly weaken the conclusion. My prediction: something that differentiates the areas that adopted flood-control from those that didn't, an unmentioned variable.
(A) indicates that floods are not uniformly distributed: some areas are affected more than others. Affected areas could be more likely to seek protective measures. That the measures are not perfect does not mean they're mistakes. Very solid candidate answer.
(B) is consistent with the stem's conclusion. Although it doesn't strengthen the argument, it sure doesn't weaken it.
The only thing we could conclude from
(C) is that flood-control measures have been getting more expensive. Because it points to higher costs, this choice is consistent with the main argument ("expensive...mistakes", "substantial waste of resources").
(D) suggests that there might be another factor, other than faulty engineering, contributing to the failure of flood-control projects. This is in line with what we're looking for in an answer, because it mildly weakens the argument by questioning its scope. But this choice is also, in a way, consistent with the argument... it's a "yes, but not only" statement. "[F]ailure" is also a strong word given that the argument does not specify the objectives of flood-control projects--could be to eliminate, minimize, or reduce damages.
(E) is good but it takes an unwarranted leap of judgment to make it work in context. We're looking for something that differentiates two areas, so a general statement that could apply to both areas does not help.