My experience has been different from Bartolo's (maybe I've just been lucky). Great diving, not dangerous or challenging compared to other places I've been. Probably a moot point if you only have a few hours. Snorkeling is a good call. No need to book anything, I'd say. Very nice snorkeling just off the beach between the spot where the cruise ships dock and the little town square. The little town is nice enough, but fairly touristy if you don't have time to explore the back streets and get to know some locals.
Day trips to Chichen Itza (sp?) can be cool, but you probably don't have enough time.
IMHO, Cozumel is better suited for staying a few days or week, alternating diving/snorkeling with exploring and just drinking/eating/chilling. For a few hours, I'd either play in the water or just wander the town and maybe find a comfortable place to eat or drink, whatever suits your style.