Puerto Rico?

St John or even St Thomas for beaches and snorkeling. Stay in a villa, hotels pretty limited and not great.

Puerto Rico for history, sightseeing, food and rain forest.