The default should be puppeting IMHO, since it doesn't increase policy/science costs.
Razing
If you have abilities that trigger upon taking a city (France especially, but also Assyria, an Authority or Imperialism policy, Crusaders reformation belief), then it can justify razing and letting the AI resettle to conquer it again.
Otherwise, razing is used to increase war score, or if you want to resettle in a different place (Indonesia can do this to get even more luxuries to spawn).
It's also fine to raze in the early game since the puppet city can have no building at all.
Annexation
If you need control over production (to produce defensive structure against a counter-attack, or troops), or if you need more supply, annex it.
You can annex it as well if it's a prime location (natural wonder, foreign capital with lots of luxuries or lots of wonders), then annex it: it will carry its weight over time.