Going by what BM said, it often makes sense to raze in the early game, let the AI resettle the area, and then keep that 2nd city when you take it in late game.
I always find it a tough call, and there are no hard rules, other than keeping any holy cities or ones containing World Wonders. Before the final unit attacks, I consider things like the city's population, its location, access to resources, distance from my capital (and therefore its likely maintenance cost), available units for garrison duty, and especially my strategic objectives.
For example, in my most recent game, I razed a good sized (pop 5) city in a pretty good location because, first, I did not have a lot of units, and second, my next objective was a city on a hill garrisoned by Longbowmen, so I knew I'd need every available unit for that assault. That hill city was also more valuable: pop 8 with gold mines in its fat cross, while the one I razed had a wheat tile, I think.
Keep in mind that if the AI resettles a razed city site, if you can get back to it quickly enough, that city will probably be lightly defended and have little or no cultural defense.