It is rather hard to say that something like this is "wrong." It is also hard to know how the water got in there.
At first glance, it appears that the sparky tried to do a proper job, and the GFI did what it was intended to do.

Such boxes come with gaskets. Even when the gaskets are properly installed, water will still often find its' way in- either through another path (via the conduit, through mounting holes, etc) or by condensation.

Your experience shows that there is a problem to remedy. One solution is to drill a small (1/8" or less) "weep" hole in the bottom of the box; this will let water drain.

Other actions to consider are to dip the wire-nuts in "liquid electric tape", to inspect all other boxes for water AND corrosion, and to relocate components so that they are out of the "splash" zone.