I have been diving in Cabo and was not impressed. If you're already going there for other reasons, then adding on scuba is definitely worth it, but I wouldn't use valuable time to go there specifically for diving.

There is one rock on the south of San Lucas bay that has a lot of tropical fish on it, but it is almost a skin diving affair.

There is another spot in the bay called "Sand Falls" which is the most ridiculous diving tourist gimmic....you couldn't pay me enough to go back to that dive spot.

The rocks at Lands end have nothing growing on them do to tidal fall. There are two decent dives, one is 45 minutes up the scenic coast drive on the Cortez side to Cabo Pulmo , which has the only coral reef in Baja, and the legendary Gordo Banks, which is an advanced dive in the 100 foot range on a sea mount where all the pelagics hang out.

Cabo is great if you want to get drunk off your buns and be silly with friends,
but unless you go to Pulmo and especially the Gordo banks, I'd pass. I thought the diving in Loreto was really nice and it is quicker to get there and cheaper. All the street urchins constantly peddling painted plates, and Chiclets and all the hawkers pestering us to see if we wanted to go "feeshing, golf, do jew wan time chair" was quiet annoying.

The maid at one of the large resorts we stayed at stole my friends $250 cowboy boots so be careful, the staffers will steal you blind.

Amigos del Mar is what most of us use as the dive guide outfit when there and they have a good reputation.