Why does battery generate less terminal voltage difference when current flows? The terminal voltage difference of a battery means the difference of voltage between the two termials of a battery. Now, a battery has a voltage at the positive terminal and a voltage at the negative terminal. Voltage means the work needed to be done to bring a poistive one coulomb charge from infinity to that terminal. Now, how does the value of this work change when current flows? (The value of this work must change for both of the terminals for the terminal voltage difference to be changed, isn't it?)
I want an intuitive explanation. 
 A: Some reasons the voltage of a battery goes down under load:
*

*Internal resistance.  A simplistic first-order model of a battery is a voltage source in series with a resistance.  As you draw current, the current causes a voltage across the resistance.  That voltage subtracts from the internal voltage source to give you what you get on the terminals.

*Chemical depletion.  Starting with the simple model above, add the fact that the actual internal voltage source doesn't put out a constant voltage either.  As a battery is used, its chemical energy is used up.  This changes the chemistry so that the open-circuit voltage goes down.

*Ion migration bottleneck. At high currents, there is also the effect that the ions can't migrate fast enough to the other electrode.  This sortof clogs up the works, also decreasing open-circuit voltage.  This is why you can see batteries sometimes have a low open-circuit voltage immediately after sourcing a lot of current, but have that voltage recover at least somewhat over time.

