I agree. The time usually spent in Cabo San Lucas is too short, compounded by the need to tender.
Our favorite shore excursion was actually in Mazatlan. It was called "Colonial Villages" and visited three villages in the Sierra Madres. It was a long tour, but very nice. We visited a bakery, furniture maker, and tile maker, among others. The people we met could not have been nicer, yet we did notice the sad sight of very young children begging the closer we were to Mazatlan. We spent little time in Mazatlan itself, so I can't comment about the hawkers there.