While both are fun destinations, Cancun is the winner hands down.
Cabo is like being in PHX with a beach. Along with the whole Baja peninsula, Cabo is essentially a desert. The beaches are nice, but nowhere near as good as Cancun. If you're not into fishing, there isn't much to do. There are plenty of bars and some shopping, but little else.
With its turquoise beaches and rain forests, Cancun has way more in terms of natural beauty, activities, tours, and hotels. Playa del Carmen, which lies just south of CUN offers a more laid back and calmer environment than CUN.
In addition to the tours of Chichen Itza and Tulum, there is the underground river at Xcaret as well as Cozumel, and Isla Mujeres.