I raze cities when they are in bad locations, or if they are very far away from my palace, because they put a drain on resources that could be used elsewhere. I prefer to have very large cities rather than many small ones, and often when conquering a neighboring civ I find that they have three or four cities close together sharing a number of squares that would be better used by one or two cities. So I found a new city in the optimal location, cut food production in the conquered cities, sell off the improvements, and slowly build workers and add them to the new city until the older cities can be abandoned.
I destroy the city outright when the population is so small that waiting to produce workers would produce little benefit, or when my military units are so damaged that the neighboring civ would pick them of easily. What I tend to do in this case is vacate the city, sell off the most expensive improvement, and offer it for free or a world map to a weak civ that I am trying to placate. The weak civ is often one that I have beat up on and with whom I am trying to rebuild my reputation -- and whose capital is so far away from the gift city that they realy can't benefit from it. Since the weak civ and the enemy civ are not at war, the enemy civ generally does not invade -- and the military units that I leave in the area are shooed off by the new owners a couple of turns later, hopefully to the homeland.