Why can a coin cell power an LED without a resistor?
No battery is an ideal voltage source. This is easy to demonstrate: measure the voltage of a coin cell battery with a voltmeter. For your typical lithium coin cell, it should be around 3V. Now connect the LED to it, and measure the voltage again. The voltage should be around the forward voltage of the LED.

This works because real batteries have some internal resistance. A fresh coin cell might be approximately modelled by adding a series resistor. With an LED connected, it might look something like this:







simulate this circuit &ndash; Schematic created using CircuitLab

It's the internal resistance of the battery, R1 here, which limits the current. Just like a discrete resistor, this internal resistance drops a voltage proportional to the current through it according to Ohm's law. It also makes the battery warm.

The internal resistance also increases significantly as the battery discharges, and this is why a fresh alkaline battery might measure 1.65V, whereas a dead one might still measure 1.4V, but is unable to provide enough current to work as intended.

There's another way to demonstrate a battery's internal resistance: short a coin cell's terminals with a wire and note that it does not explode. The internal resistance of the battery limits the current through the wire (which has nearly zero resistance), and thus, limits the rate at which electrical energy is converted to heat.

Now try the same experiment with a lithium ion battery (which has a very low internal resistance) and a heavy gauge wire (which also has a very low resistance) and you will create a sizable explosion, or at least a fire.

On second thought, don't try that second experiment.