You don't mention which cruise you will be on. If it is the Progreso and Cozumel tour, I would advice to see the ruins in Progreso - specifically Dzibichaltun - it is reasonable (we paid $29.00 each through AutoProgresso - they were at the pier waiting for people - no need to get ahead of time but do get as soon as you get to port) -- the ruins were awesome - tall, beautiful ones, and the famous Temple of the Dolls. Plus there is a natural lagoon that is very refreshing and fish swim up and nibble on toes (on dead skin) -- or you can shoo them away. http://www.autoprogreso.com/DzibiEn.html
If you go to ruins in Progreso, you can save Cozumel for the beautiful beaches - I recommend Passion Island. It is absolutely breath taking and you won't regret it.
I've got lots of pics on my facebook - most are private but a lot of them are listed as public and can be viewed. Take a peek.
IF you do not dock in Progreso and Cozumel is only opportunity to see the ruins, I would say Tulum is best but it is far away and something I personally would not do. I've been there and love it but I was not on a cruise. I don't believe a cruise would give it justice, takes too long and all day for the few hours there. if you DO GO - use ONLY Carnival. Too risky to use anything else.
Good luck. Research area and find out what might work for you.