The good: Nice pools (including an indoor one). Different places to eat. Good food. Shows. Drinks. Very good for family with kids. Nice beach with water sports (for a price).
Can improve: The staff doesn't speak/understand english so well. All the wall outlets are european and they don't have adapters in the reception.
The bad: A few members of the staff wearing orange shirts are very rude, not the young ones tho.
Anecdote: At the beginning of our stay we had some problems with our room (they gave us a Villa), the air conditioner was not working and it was a pretty outdated room, until there it was ok, but we had an issue with the personnel at the reception wearing orange shirts one tall man with black hair (one of the few that speaks english, I wish I photographed this dude...) treated us pretty rude, he didn't even want us to stand in the reception and basically forced us to got sit somewhere else. Anyways, the next day they noticed we were not pleased with their behavior and one of the managers (I lost his card) called us and upgraded our room to a family room in the main building for no charge, he was very eager to make it right and indeed it was a turn around for our stay, we had a better view, better AC, better bathroom and WiFi.
Final thought: Is a really good place to stay for the price and they will try to make it right if you let them know you are not comfortable. I really recommend this place for families with kids.