It's hard to aim at a man and pull the trigger. Even in firing squads, it's standard practice to give some soldiers blanks or unloaded rifles to diffuse the responsibility of killing amongst all men equally. This actually makes the soldiers more likely to pull the trigger, thinking their gun might not be loaded, as well as easing the men's consciences after the fact by letting them believe there's a chance they didn't actually kill the victim.
But we all know it was you, third from the left. You bastard.
But even supposing you buy this explanation, there's one glaring omission we've left unaccounted for: If all of these Stormtroopers are missing on purpose, why don't the good guys seem to have the slightest problem murdering a city-bus worth of dudes every time they stop for gas? Are they more accepting of the brutal realities of war? Are they more faithful in their cause? Are they just a bunch of fucking sociopaths in space vests?
Nope. It's the helmets.
That's right: If the Stormtroopers had just taken off their helmets, they would have probably won the war. Especially considering that they're an elite battalion of well-funded techno-warriors, up against a space hillbilly, a gigolo, a pampered socialite and a furry version of Sloth from the Goonies. It all comes down to the basic principle of dehumanization.
Could you pull the trigger if Darth Vader looked like this?