What's "best" in this case varies significantly depending on several factors - including your itinerary, budget, and travel style. Here are some things to consider when determining what's ideal for your trip.
Italian summers can be extremely hot, while winters are typically cold and wet. The heat can start as early as late April in some places, so don't count on spring being mild. November is almost universally the wettest month.
If your travel dreams include beaches, hiking, or other outdoor recreation that relies on sun, the summer months are likely your best bet for ideal weather - keeping in mind that strenuous activities should be done early in the day before the heat gets too bad.
If your travel dreams include skiing and hot spiced wine, the winter months are your best bet.
If you don't mind the potential for rain, spring can be an excellent option.
Summer is Italy's high season, when prices are usually at their highest, but the high season these days begins as early as April and runs through early October.
On the other hand, in areas where snow sports are big business, the winter months are the high season.
For most itineraries, the late fall through late winter are generally the most budget-friendly (excluding major holidays such as Christmas and Carnevale).
There are few times in Italy's most popular cities that are truly crowd-free. High seasons draw huge crowds, from summer travelers to people visiting for brief holidays.
It can be a good idea to consult a calendar of Italian holidays while planning your trip so you know if your travels overlap with any big local celebrations (which can cause not only larger-than-expected crowds but also extremely full trains).