Over the holidays I got a Garmin swim watch. I have couple issues with it keeping track of laps correctly, as the accelerometer that is built into is not always registering changes when I do my turns. For freestyle it miss about 5% of my turns, but for breaststroke it is missing about 20% of my turns. I even went and looked at FAQ on topic about this and have no changes in results.
I am still pretty sure this can be a useful tool for a USMS swimmer.