We had our entire system modeled using WaterCAD, based on GIS system as-builts, but the cool thing about that is that you can export the model into EPANET, which is free, but loses the GIS aspect (you can half-*ss it by pasting in scaled aerial photos, though). Our utility, which is medium-sized but remote and underfunded, is moving toward using EPANET rather than paying for fees every year. In fact, I am putting on a training program in conjunction with a local university over the next few months to train all our engineering staff in using EPANET.
But I suppose, if you are working for a really large city with a reliable ability to fund the annual fees, WaterCAD or similar would be better.