Surf is definitely one of the best Water-type moves, but the only drawback is in Double Battles, it'll hit your ally too, which is bad when your ally is weak to Water-types. Muddy Water doesn't hit your ally and has a chance of lowering Accuracy, but it has lower PP than Surf and it's only 85% accurate, which is a big downfall. Waterfall has a weaker power, but it's great for a Pokemon with high Attack and it may cause flinching, too.