It all depends on what you want to do, except, yeah -- never immediately annex unless you have the AUTOCRACY (not Order) tenet that gives you the free courthouse. Keeping the city in one form or another gives you that much more in research and probably will net you gold, too. On the downside, it costs unhappiness. That's between razing and puppeting. Can you stand the unhappiness? Puppet. Not? Or it's in a really suck-ass location? Raze.
Once it comes out of rebellion, there are several considerations about whether to annex it or not, too. Not a simple question even though some seem to think it is.
Puppet cities are always on gold focus, which means they don't grow very fast. Also, you can't build things by choice and they'll never build units, including really basic things like work boats.
Puppet cities don't count against your total for setting culture/policy targets, but they also don't provide you any culture. Adding the city will eventually be a net positive culture-wise, but you are likely to take an immediate hit as the required amount for the next policy goes up but there are not many (or any) culture buildings in the city yet. This is the only downside to annexing AFTER the city comes out of rebellion, and not counting the unhappiness between annexing and getting the courthouse built (which may be only one turn if you can rush buy it).
How close are you to that next policy? How badly do you want it right away? Can you rush-buy the courthouse (600 gold without any modifiers for policies or Big Ben), or stand the unhappiness until it gets built?
Answer these questions, and the answers will be different from one game to the next, and you have your answer.