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.
Be very careful of the miselling that is rife in Italy, for example enel is the state company that owns the infastructure, you will often have them coming round your house telling you that you are currently paying a rental to them for delivering the energy, which is 100% factual, but what they never say is although by going with them for your energy you will be saving that rental €30 euro every two months or so, your energy bill will be more. So never fall for rip offs like that, TIM do that as well, reminded you they provide the line so are saving you money when in fact they are not.
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.