I liked Cabo San Lucas and the harbor area is nice to walk around. We got caught in a downpour and sat it out in a harborside cafe enjoying mahi tacos and local beer.
However, what turned me off about Cabo was returning to the ship after the downpour, we crossed a sewer culvert spewing raw sewage (smelled terrible) into the harbor in the rainstorm runoff. I would think the community would take care of sewage in a more responsible way with all the money generated by the cruiselines.
We did go on the Rosario Island Beach tour which was a 55 minute speedboat ride to the island, a great natural aquarium visit, and a relaxing few hours at an island resort.
Cartegena itself is full of very agressive peddlers hawking all kinds of cheap souveniers. Avoid the tours of Cartegena as they all stop at a shopping area called The Dungeons and Emerald City jewelry store. Tourist rip-offs.