Every write will result in immediate output, rather than getting queued up for speed/efficiency essentially. Read the link below. It's good.
If you have experience with other programming languages, STDOUT is typically buffered, STDERR is not. Thus you sometime see strange ordering if mixing the two. Autoflush fixes that -- among other things.