One tool to get a sense of the diversity in Italy is to look at the languages spoken there during the iron age. Even if language does not always map to ethnic identity, it's still a useful tool. To name a few (I am taking this mostly from Mallory):
Ligurian (Ligures, IE, possibly Celtic)
Lepontic (IE, Celtic)
Etruscan (Tyrsenian, non-IE)
Raetic (also thought to be Tyrsenian and related to Etruscan)
Umbrian (Umbri, related to Oscan)
Oscan (Sabines, Aurunci, Sidicini, Ausones)
Massapic (Iapyges, Dauni, Peucetii; possibly related to Illyrian)
N. Picene (undeciphered)
S. Picene (probably IE)
Venetic (IE, centum language, classification debatable)
Latin (closely related to Faliscan)
Faliscan (Falisci, closely related to Latin)
What this suggests is two things:
1. The presence of a neolithic Tyrsenian substrate; of course how extensive or homogeneous this was remains unknown. There could have been multiple non-IE peoples on the peninsula long before the arrival of the first Indo-Europeans. It would be interesting to know what hg(s) correspond to the Tyrsenians.
2. What looks like multiple waves of Indo-European diffusion, similar to what happened in Greece, and quite a lot of diversity even within the IE languages on the peninsula.
And of course this leaves out Sicily and all the later influences (Greek, Punic, Arab, Norman, Lombard, etc.)