If you arrive by cruise ship, we presume you’ll land at Civitavecchia harbor, right? So you can take one of the frequent trains from the Civitavecchia central station until Roma Termini station. It takes between 1.03 and 1.20 h with a regional train (from 5€) and around 40 minutes with a direct train (from 15€). You can book the tickets on Trenitalia website and then check the realtime transits on Viaggiatreno website, just type “Civitavecchia” after clicking “Train station” and you can check arrivals, departures and delays of all the trains through that station. Here’s also the timetable of Roma – Civitavecchia line valid until the 12th of December. The only inconvenience could be the distance between the Civitavecchia harbor and the train station that is almost 1km, beyond possible delays and overcrowding in the peak hours. We think however this is the best solution, also due to the relatively cheap costs and safety from tourists scams. You could also ask the shuttle driver to be delivered to the train station. Further info here.
There are also many private companies that offer transfers between Civitavecchia and Rome at higher prices but at present we don’t feel comfortable in suggesting any of them.
In order to go to the airport, we would suggest you again to take the train and this should be a more comfortable connection. You can use the same Trenitalia website to book the tickets from Roma Termini station to Fiumicino aeroporto. There’s the specific and frequent train Leonardo Express which takes around 32 minutes to arrive at the airport at around 14€.