We bought this for my 2yr old daughter; she takes a swim class and the pool isn't heated, so lately she had been complaining and wanting to get out of the pool early. She's worn this a couple times now and has done much better with it! She stays in for the entire 30 minute lesson now.
In terms of fit, I think it might fit a little on the small side, but not extremely so. We ordered her a 3T so she'll be able to wear it longer, and it's a little baggy on her but not huge. So if you're deciding between sizes it might be best to order up.