If I go back, I'd probably stay at Hotel Delfino.
One good place to eat is Lupita on the Zocolo (town square). Great fish tacos, veg fajitas, gazpacho, tortilla soup, and other dishes.
From the moment we arrived, nothing was as advertised. After requiring a payment using Paypal, the management tried to pass the cost of Paypal on to our party. The boats and boat trips were also not as advertised. The hotel had assured us that they had their own boats that went out at 7am to avoid rough waters and that one of them was small and would be available to our small party. The hotel does not have its own boats and contracts with a group that goes out at 9am. It is better to walk down the beach and arrange for your own boat directly with the operators. We found good service at Mario's, which also is a small taco stand.
We had reserved 2 beachfront cabins but got one that looked directly on the pool (people waved to me through our front window from the pool) and a slightly better one that looked into a boat parking area and then on to the beach.
A beautiful beachfront cabin was unoccupied and after an hour of discussion with the owners (patronizing man and disdainful woman) we were allowed to move one couple into the better cabin--but for only 2 of the 4 nights we were there. Supposedly a repeat customer had booked the only good cabin for our last two nights. But that wasn't true either. After we moved a group of 4 crowded in it for one night and then another cple who stayed only one night.
The cabins were so dark that you could not read in them in the middle of the day and the air conditioning didn't work. We opened windows and blasted fans, but that let the mosquitoes in.
Breakfast was white floppy bread with hydrogenated peanut butter, cheap jams, and spoiling fruit. Coffee was done in a big tin 50s percolator and tasted like it.
This review is the subjective opinion of a TripAdvisor member and not of TripAdvisor LLC