Many hotels/resorts take care of the beach in front of their establishment, making it a nicer place to swim. Swimming off the piers is awesome also.
Snorkeling off the shore is nothing compared to getting out to the reef. Again, many hoteliers put fish- attracting materials under their piers, so snorkeling under some piers is OK, but its a whole other world out at the reef...