Italy like many countries has an open type of market, which means there is numerous companies providing each service about. From experience though the state ones like TIM or ENEL have less flexibility and the prices are not the best, so it’s often best to look around. Most of the big names you know from other countries operate in Italy and many are competitive.
You have the likes of Vodafone and Wind/Three, EON and Eddison, the list goes on. It can be very difficult. Many of them will not accept IBAN’s from countries outside of Italy so it’s best to ensure you have an Italian bank account first.