We are going to Italy in April for 3 weeks. Starting in Milan working our way south. Is it wise to book hotels now or can we just wing it when we get there?
Easter is April 5 this year. If your travels include that weekend or the following week, it may be difficult to find lodging after you arrive. I think I would reserve a room for that period. If you make reservations now with some booking organizations, you can probably cancel later if your plans change. (I use Booking.com). I used to travel with no reservations. I usually have reservations for my entire trip now. If you want the freedom to wing it, you might reserve for the first night then find rooms as you go along after that. Check Europe Through the Back Door (book) for suggestions about making this work.
You could wing it (apart from Easter Week), and check a booking website the night before you leave for accommodations in the next city.
Since I try to get super-economy train fares, I book hotel reservations in advance as well. I do not enjoy wasting time looking for a room once I arrive.