immediately: when you want to ensure accuracy, or when fluency is not the key factor. Note: in this case make sure that students do repeat the corrected form. It is not enough that you correct - students must copy orally and practise. This usually occurs when presenting the language.
Delayed: wait until the student has finished speaking but return quickly to the error to ensure correct usage. Take notes and choose an appropriate time to correct.
Very delayed: sometimes the activity is so interesting that the dynamics are more important than accuracy. If you feel that correction will take away from the energy of the event, be subtle and incorporate the corrections in tests, games or warm-ups without stressing where the mistakes came from.