Annex requirement:
*after* the time of puppeting to allow the rebellion to settle down.
OR
(just tried this one)
*after* you selected the RAZE option and then it hits a very low population. (stop the raze, sit out the 1-2 turns of rebellion, then buy the courthouse)
-- this one is useful if you need a place to buy units for the front, and a place to upgrade units, but don't want the high population that's there.
Otherwise, Annex when:
The puppet grows too fast and your global happiness is suffering for it (even with converting everything to trading posts)
-- happiness buildings are generally last built, but needed more
You captured a high science city, but the puppet would work gold rather than science.
You captured a high production city, and want to use it as a core city
Otherwise... it's mostly to give you control over a city and be able to rush buy things there. You could also annex a city to delay an SP pick if you're about to switch eras but will get the SP first.
Or, in a very late game domination attempt, you could be using Police State to keep some happiness under control while you're taking a large number of cities at the same time.
Also -
You want to abuse the courthouse bug... (get more happiness than you should)