Cabo San Lucas is better.
Nothing to see in Ensenada. You can take ferry to Catalina island. Cabo San Lucas's beach is better than those 2 places, also the view is quite good. Personally I don't recommand 3-4 day cruise. My friend took that Carnival one before and told me it's very bad. We took 7 nights Norweigan cruise which is pretty good.