Being a peninsula and rich in rivers and lakes, a great way to discover Italy is from the water.
There are many cruises in the Mediterranean that stop in Italian harbors: La Spezia, Genova (with amazing views of the Cinque Terre), Livorno, Civitavecchia (near Rome), Naples, Messina and Trapani in Sicily, Bari and Ancona on the Adriatic.
If you don’t like to spend days on a cruise ship, there are many ways you can see Italy from the water on a one day tour that are also served as public service, so they are not expensive at all.
Ferries connect various villages of the coast in Liguria: Portofino, Rapallo, Sestri Levante, Porto Venere and Cinque Terre.
You could for example board one of the boats that connect Naples and Salerno to the villages of the Amalfi Coast (Positano, Amalfi, Sorrento) with Metrò del Mare or Traghetti Lines. Or you could get onto one of the many boats that connect the mainland to the islands of the area (Capri, Procida, Ischia).
Boats connect different towns in Sicily and Sicily to smaller Islands of the region (Eolie, Egadi, Pelagie).
A different but equally beautiful experience is to get on a boat on the Brenta river. You can slowly float from Padova to Venice (or the other way round) while watching some beautiful Venetian Villas.
You can also navigate on Italian lakes: Garda, Maggiore, Como, Bolsena and Trasimeno are all lakes that offer a ferry service.
If you are in Venice and don’t feel like paying 60 to 100 euro for a 30 minutes ride on a gondola, you can take one of the public vaporetti that go almost anywhere in the Laguna (as of 2019 a 75 minutes ticket costs 7.50 euro, 20 euro for a one day ticket; check the actv website for updated prices).
To end with, one of the most romantic experiences you can have in Italy: a mini cruise on the Tiber river in Rome. With dinner, if you want to exagerate.