If it were me, I would just stay in Rome the whole time. There is so much to see and do in Rome and the surrounding areas. You can easily spend 2 weeks in Rome.
I find it a bit confusing when people talk about the number of days they have on the trip. Do you have 6 days or 6 nights on land? I always count the nights i stay in hotels and deduct travel time. When I do that i find that my actual number of days are usually less than i thought.
For example, if you arrive in Rome and spend 4 nights, you really only have 3 days. The arrival day is probably short depending upon time of arrival, you need to get from airport and check in and grab dinner. You will be jet lagged. Then you only have 3 full days to enjoy Rome and surrounding areas. . On your 4th day you need to pack, check out, get to the cruise ship, check in on the ship, explore the boat which is fun if you are new to cruising and then stuff your face at the buffet on your first day.
I found our 7 day med cruise to be exhausting. Every day a new port. Get up early, breakfast, go on a full day shore excursion, rush back to ship, shower, big dinner, show, crash in bed and repeat.
After you return from your cruise, if you have 2 nights, you really only have 1 full day. You arrive at port, travel to to hotel, check in etc, get a meal, you may have an evening but many attractions may be closed in the evening. You have one full day, spend the night and then you are packing, checking out and going to the airport the next day.
Adding in Florence and Venice will involve more travel time and checking in and out. Assuming that my number of nights is correct, you will only have about 1 full day in each city once you factor in the logistics of travel. Maybe you are more energetic (most probable) and more organized (doubtful) than me. You may be able to pack in some extra attraction or site on the travel day, but it will be rushed and you find it hard to relax.