I've been to Cuba twice now. Once to Veradero and once to Cayo Coco. When I went to Veradero I stayed at an
Iberostar Resort. And it was very nice. Nice big rooms, awesome pools, bars, beach etc. It was a five star. The night life was kinda quiet. But we went a couple years ago when the resort was brand new, so I'm sure it's picked up since then.
Seeing Havana is a must. Our snorkeling in Varadero was weak at best. Our snorkeling at Cayo Coco was amazing. I've also heard good things about a nature excursion at Veradero. If you want to save money I would book as last minute as possible, and I wouldn't stay at anything less than a four star.