I recommend booking on your own as much as possible. I use TripAdvisor to search what to do. If there's something I'm interested in, I'll go to the operator's website and do more research. I'll reach out to them if necessary regarding transportation and timing.
However, anything we book MUST plan to have us back at the port at least 60 minutes before "all aboard" (which is usually 30 minutes before sail away). I'd prefer more. If the tour is especially long for some reason (I know there are tours to the mainland from Cozumel), I would book through the cruise line.