The Vilna Gaon explains (full text here) that the reason why each set of cows are described with two descriptions is because there are two different types of famine - רעב and כפן. The former word refers to a time when the fields are not producing good produce, whereas the latter is when the fields are producing good produce but Hashem does not place in the produce the ability to satiate the appetite, like the posuk in Vayikra (26,26) says - “and you shall eat and not be satisfied”.
This is what our posuk means: “handsome appearance”, that is, the appearance of the produce is good, and “robust flesh”, that it satisfies, because the ability to satiate has not been taken from it. But with regard to the bad cows both these qualities are reversed - “bad appearance” and also “lean of flesh”. Thus the famine which was being shown to Pharaoh was to contain both types of famine.
So, the issue was not crop quantity but crop quality, which could be caused by factors other than sufficiency of water.