In Civ5, is there any point to immediately annexing a city?
Solution 1:
I've been thinking about it myself, and I agree that it's almost always a better option to let the city stay as a puppet for a while before annexing it.
One major drawback here is not only that you cannot control what puppets produce, but it's that puppets never produce units. If you're at war, for example, the ability to produce units is critical, and sometimes you just need the extra city right now. Still, considering that conquered cities lose half their population and most of their buildings, their production is usually so low that making them a puppet is probably still the best choice.
Regarding the edit: I see no reason for annexing a city before the riots are done. You can't do anything during riots anyway, so it's best to not lose the extra happiness for these few turns.
However, now WillfulWizard's answer becomes more important. If you intend to annex it soon but you want to keep it a puppet for just 2 to 5 turns, there's a good chance you might forget - particularly if you're in the middle of a war and every turn is hectic and eventful. If you intend to annex it quickly anyway, maybe it's best to just lose the few points of happiness from having the city annexed during its riots, than to forget about it completely.
Solution 2:
So you don't have to remember to Annex it
You've just conquered a city you KNOW you're going to want to annex soon. (In my most recent game, I needed to force building a harbor to start up trade routes to my latest expansion, "Old Greece") Unfortunately, you're human, and simply might forget to do it later. So, rather than remembering to interrupt your 10th turn from now, you annex the city and set it to building the courthouse. Done. Nothing to remember, no turn interruption, the game will alert you when the city is ready for its next order.
This can be especially important if your turns otherwise consist only of dealing with the next item in the queue, then clicking next action/turn. I don't normally recommend playing this way just off the next action button; You will catch a lot of mistakes by stopping at the end of each turn and asking "is anything wrong? is there anything else I should do? what's the worst problem facing my empire right now?" However, the event-queue style of play can be a very fun way to play a relaxed game (far easier to get into "the zone"), or to play a game on an easier difficulty just to try something.
Everyone else has already covered the few times when it might be ideal for your gameplay to annex the city immediately, but those are sadly exceptions. So, if you want to play your BEST, you'll have to puppet the city and somehow remember to check back later to annex it. I recommend keeping notes as you play of things you need to do in the future, write down what turn you're on and what turn you want to check back, and check your list before the end of each turn when you ask yourself the questions I mentioned above.
Solution 3:
If you're annexing cities, that means you're conquering cities, and if you're conquering cities, that means you're at war.
The advantage of Annexing a city is that you are then able to rush-buy units from that forward point, which will in most circumstances take less time than moving a unit from one of your production cities up to the front. If you're fighting a cross-continent war, for instance, you probably want something like this ASAP because your production is going to be particularly far from the battlefront.
Other than this corner case though, I'm inclined to agree with Oak's answer.
Solution 4:
One trivial example: You're a landlocked civilization (maybe even just a single tile away from the ocean), but are in need of naval units and have just captured a coastal city. You would want that city to start cranking out units as soon as possible, so annexing it immediately is the only thing that makes sense.