What time of year?

My best trip to Italy was the first half of January. Still plenty warm with a modest jacket, and there were WAY fewer tourists there than during more popular months. Much easier to see what you want or get a table where you want.

Rome almost is a must, but Florence likely is my favorite. Depending on your personality, for a two to three-week trip, I'd recommend picking only two cities and enjoying yourself rather than making a checklist of places you've seen and spending way too much time and money on trains and checking into and out of multiple hotels.

You could spend three weeks in either one of the two cities I mentioned above and never run out of new things to see.

Are you going with a wife or romantic interest? If not, the following is of lesser significance. If so, if you stay at nice hotels, tip the concierge A LOT--even if you just ask him or her where the bathroom is. Then, ask the concierge to make your dinner reservations for you. You will be treated like a king at the restaurants. The idea is that, if they make you super happy, and you report it back to the concierge, the concierge will keep sending business their way. Trust me, it works.

One example: My ex-wife and I stayed at the Intercon above the Spanish Steps in Rome. I tipped the concierge a lot, which is a drop in the bucket compared to the money you're going to spend on the trip anyway. The concierge made a reservation at a super-nice restaurant in Rome. Once we were seated at an awesome corner table, the restaurant manager came up to our table following two waitresses, and asked us about or time in Rome, etc. ... She then offered us two free appetizers and two free drinks and some porcelain kitchen items as gifts for my wife.