The water's edge doesn't change its shape or opacity at all, which makes it look like a solid object. Water isn't solid, different parts of it move at slightly different speeds and in different directions, because the beach isn't a perfectly flat surface and there is turbulence in water.
Since the water is liquid and doesn't move as a single sheet, the previous wave will be moving back out as the next wave comes in. Your animation doesn't have that at all.
Here's a gif I find very useful, it has all the key features:
- The shape of the wave changes as it moves inland
- The wave goes over the previous wave pulling back
- The waves spread and cover a larger area as the sand blocks the path and there's nowhere for that water to go but outward
- As it moves further inland and gets flattened by the sand in the way, the water gets shallower and therefore more transparent.
- The sand doesn't dry so quickly xP
- The wave motion isn't perfectly smooth. Each new wave "trips over" the previous wave as it goes out, this causes the breaking wave and foamy white bits.
- The tripping doesn't always occur at the same spot on the beach, it's random-ish (depends on water consistency, wind, etc). For a looping animation having it always be the same wave is fine, just make sure that the wave break doesn't occur in a perfectly straight line, have it vary. You don't even have to have the wave-break be a single line, it can and probably should be broken!