Here is a rough example of why you would want to use it.
If you comment out fflush(stdin);
then it skips asking for input every second one, but with it you get asked every time.
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i = 1;
char input;
while(1)
{
printf("\n\nLoop number %d - input 'Y' or 'y' to stop\n", i);
fflush(stdin);
scanf("%c", &input);
if( input == 'y' || input == 'Y' )
break;
i++;
}
return 0;
}