I definitely recommend doing an excursion for any real snorkeling. The "free snorkeling" at a beach, will get you free gear, but not much in the way of seeing any cool reefs or schools of fish you'd see on a real snorkeling adventure.
Carnival Triumph - Spring Break Cruise - 2006
Carnival Victory - Birthday/Summer Cruise - 2007
Oasis of the Seas - Group Cruise - 2010