Almost never is my recommendation.
For the situations where flush() dumps random amounts of unread data, I can't think of a single case where NOT reading the data is appropriate.
Please enter a valid email to subscribe
We need to confirm your email address.
To complete the subscription, please click the link in the
email we just sent you.
Thank you for subscribing!
via Egeo 16