In Italy service, which usually ranges from 1 to 3 euros depending on the restaurant, is automatically added to the check and must be visible on the menu. "Coperto," the charge for the tablecloth, silverware, etc., is illegal in Lazio but may be added in other regions. 

Normally, just round up the bill, a few Euro.  If you were given an outstanding service, a good tip -- 10 euro in cash -- will make the staff happy, but you are not "compelled" to do so.

Tipping cab drivers is unusual, but appreciated -- especially if they help you with your luggage and provide you with useful info about getting around in that particular place.

Tipping hotel porters is appreciated. Same for the hotel concierge if he/she is helpful in making your stay easier or more pleasant.

Also remember to take your receipt, even if paying cash. It is the law as you must be able to prove that you paid and the owner rang it in for tax purposes. Plain clothes police may stop you after you leave and there could be a fine to pay if no receipt can be shown. This is especially true in road markets, a couple of policemen normally patrol them for safety purposes, they also watch the sellers to give receipts to the customers.

 Addition: August 2010...

Although customers may prefer to do so for their own reasons, they haven't risked a fine for failing to keep their receipt/invoice/bill since a change in the law (decreto legge numero 269 del 2 ottobre 2003) abolished that requirement.
In the pursuance of his duties a policeman, uniformed or not, may request to see such a document, however you're no longer obliged to have one to show him. Despite it being almost seven years, you’ll still find people who insist otherwise.

Do not pay for any accommodation in cash, as this encourages more money to be undeclared for tax purposes and adds to the difficult economic position of Italy at present (2014). Before confirming your booking for accommodation, check how payment is to be made. And of course, make sure you get a receipt.  This is essential.