There are three main restaurants.
The main dining place is a beautiful beachfront facility. What a spot! You can have breakfast, lunch, or dinner there. They will serve you from the menu or you can get your own food via the buffet. But they only serve pre-prepared foods and they have cooks who will make many different foods for you. Breakfast has all the basics: French toast, waffles, bagels, fruit, eggs ANY STYLE, and Mexican-influenced foods. For lunch, they have salads, traditional Mexican food, and seafood (shrimp) pizza. The service is very good. The staff is young, but very well trained and eager to please -- they will carry your plate to your table, refill drinks FAST, and are eager to clear your finished dishes. The same is true for the fancier dinner restaurants. The service is as good as any top places in NYC.
Dress is more upscale at the dinner places. You can get away with a polo shirt for men, business casual, etc.
We ate at Frida twice, Luca once, had room service one (which was great -- they bring a tablecloth, all the dishes, glasses, salt and pepper, etc.), and twice at Azul (beachfront). You can eat and drink all you want. The poolside service is excellent as well; they are more than eager to bring you any drink, snack, or full meal poolside, with a smile.
We handed out 20-peso bills as tips (barely $2) and I think the staff was very pleased with the gratuity, which is not required, but not discouraged. At the restaurant, we left 15% tips. Azul is best for families, but the two dinner places are fine for well-behaved kids.