That's a discussion in and of itself. Booking through
DCL will usually be a bit more expensive than booking on your own, however, when you book through DCL and there's a delay, the ship will not leave till you're back. If you book your own or just go off on your own, if you're not back by All Aboard, the ship very well may leave without you. When we stopped at Cozumel, our departure was delayed by nearly an hour because of of the DCL-sponsored shore excursions had not returned in time. They would not have waited for a non-DCL tour.
Additionally, some of the tour companies who have contracts with the cruise lines will not allow you to book privately if they've contracted with the cruise line, but some will.
I'll also say this: I've had amazing times on DCL excursions. I've had amazing times on privately-arranged excursions. And I've had amazing times going off and doing our own thing. There are no "wrong" answers, but if you go off on your own, bring a good watch and keep it synced to ship's time.