When the Flash faces off against Danton Black, he's hit several times throughout the episode by Danton's fists. Yet, in many other episodes, when shot at, he can dodge bullets and react in time as if his reflexes are sped up. Why is it that he can dodge a bullet but not an obvious punch which is coming his way?
I can think of a few possibilities:
- Restraint: A speedster's fist should be able to hit with much more force than an ordinary human's. If Barry hit someone without nigh-invulnerability or a healing factor of some sort at super-speed, he could easily kill them. Therefore, in close combat, he holds back on using his full speed. When grabbing bullets out of the air, he has no concerns about causing damage to the bullets.
- Overwhelmed: In the Danton Black situation in particular, Flash was being hit by multiple assailants (even if they were all the same guy). With multiple hits coming from multiple directions (all in close proximity), it's hard to dodge. When handling bullets, they're usually all coming from roughly the same direction.
- Interaction: In order to talk to someone, he basically has to slow down to normal human speed. In at least some instances, this may have delayed or prevented his reacting with full speed.
- Speed of thought: There is evidence in the show that, while Barry can do things at super-speed, his brain is not necessarily running as fast as his body. In Season 2, we saw him using his speed to read books - but being unable to retain the contents well. If his brain was truly running as fast as his body, then he'd retain what he read as well as anyone would - because, to him, he's reading at normal speed - everyone else is just a lot slower. This may happen at a variable rate. When Barry sees a gun, he knows to expect bullets, and is prepared to shift into full speed mode to catch them; punches aren't necessarily as predictable.
And, of course, yeah, it's all plot device - if the story's more dramatic (or fits into 42 minutes better) if Barry gets the living snot beat out of him, then he'll get the living snot beat out of him.