I would still say 4 for the history of it and the warmth of the people. I just have a hard time seeing people in the poverty that is there. Most fellow cruisers felt it is well worth taking the various excursions offered and that is probably one of the best ways to inject money into the local economy, so I would definitely go again.
Cozumel would get my highest recommendation for the water color and clarity alone. I am a beach fanatic and love the water there. The shopping available and resort atmosphere is very commercial, but has a great local flavor too. We are looking into doing a "stay in Cozumel" vacation at a later date. I am not sure what Carnival might offer in the area of letting us cruise to Cozumel on one week and pick up a return the next week for the last part of a cruise, but we'll see.