I've only been to Cabo once and found it pretty blah. (Could well be a function of the particular place we stayed, etc.) Didn't get any diving in.
While it's a slightly longer trip, Cozumel is pretty great for diving. And not that you'd have a ton of time on a weekend trip, but the Yucatan is pretty awesome out of the water as well.