Since Rome does not lie directly on the coast, some time will be consumed by getting from the ship to Rome’s primary sightseeing and back. Since it is literally impossible to see Rome in just one day, the typical cruise traveler will choose is a shore excursion that is more of an introduction to the city.
If your cruise begins (as mine did) or ends in Rome, you should spend as long as you like in Rome for extra exploring.
If you are put off by the high cost of optional cruise line transfers between the airport or port, and have the ability to wheel you own luggage, certainly consider using the regional train system.
From Leonardo da Vinci (Fiumicino) Airport, the FM1 train will take you quickly to the Roma Trastevere Station, where you will be able to connect with the FM5 train direct to Civitavecchia. Since I was not going immediately to the port, I took the FM1 into the city (to connect with the Metro) at the cost of €8.00, and later took the FM5 from the Roma San Pietro Station to Civitavecchia for just €4.60.
During a one-day port call in Civitavecchia, while it is technically feasible to get to the city and back on the cheap via the FM5 train, I don’t know that I would recommend doing so unless you are familiar enough with Rome to know where you are going, and leave enough extra time before your ship is scheduled to sail.