As usual, Alex at Tinkerlog does an excellent job of clearly describing some electronics arcana, in this case, exactly why one needs to use current limiting resistors on LEDs (and when you can do without them).

If you apply a specific voltage to a resistor, you can compute the resulting current with:

I = V / R Example: I = 5 Volt / 100 Ohm = 50 mA

Obviously that does not work with LEDs because they don’t behave like a linear resistor. If you look at the graph above, you can rise the voltage from 0 Volt to 1.6 Volt without resulting in noticeable current. Apply a bit more voltage and there is current and the LED lights up. We have reached the Forward Voltage which is needed to open the pn-gate. Forward Voltage (VF) for a typical red LED is 1.7 to 2.2 Volt. Now small changes in the voltage produce large effects on the resulting forward current (IF). Datasheets normally state at least the absolute maximum ratings for IF, eg. 25 mA. If you apply a voltage that results in a larger current, the LED may be destroyed.

Driving an LED with or without a resistor