Because there is no true competition when a government decides to compete with a private company. The government "company" has the benefit of mandatory "customers" (taxpayers), which means people who don't want to be customers are forced to help pay for those who do, and those who are customers of the private company are actually paying twice.
If you want competition, don't create an artificial market run at sub-market pricing supported by taxpayers. Let the competitors fight it out on even ground.
In my market, Comcast pays the city a franchise fee for every subscriber they have, which results in net income for the city over and above the payroll and property taxes they pay. This money gets dumped into the general fund to pay for ... anything the city council wants to use it for.
Nothing is stopping another cable company from entering the market but none has. If someone could come undercut Comcast honestly, and not sell services for less because the deficit is made up from the general tax fund, they would. Why not? Because they look at the market and see that it won't support two companies. The government, with essentially bottomless pockets, pays no attention to markets and doesn't care about operating at a loss. If they lose money from that service, they'll just plead for more money at the next election and hold other services hostage. Our city does it on a regular basis, threatening to close the library and the public pool and the senior center unless they get more money, but never do they threaten to eliminate the unnecessary things they do.
That's why it is bad.
But the problem with the current situation is since there is a natural barrier to competition because not every provider can be allowed to use easements to run their lines. The way cities handled this in the past was granting a single company a monopoly on providing a certain service. This doesn't work well in practice, particularly in industries that are not heavily regulated by the franchise authority like cable TV.
The solution to this problem is for the city to own a fiber network and any company that wants to provide IP services (TV, phone, internet) over this network is free to do so. This gives a level playing field for all competitors who want to provide this kind of service. The existing monopoly system does not work for anyone but the monopoly holder, it certainly does not work for the consumer.
Full disclosure, I am a subscriber of one of the fiber networks mentioned in the summary and so I might be biased.