In the crudest sense, there are two types of drivers - resistive and switching.
A resistive driver (linear drivers and direct drive fall under this category) drops the extra voltage across some kind of resistance. This may be an actual resistor, or it may be the resistance of a transistor (which can be controlled, so can give better performance) or it may be just the resistance of the wires, switches, and internal resistance of the battery and LED (this is direct drive, or DD). This circuit is just a loop, consisting of the battery, wires, switch, resistance(s), and LED. The same current flows at all points in the loop. Imagine the battery as a pump pushing water through a closed loop of plumbing. The same flow rate exists at all points in the loop.
At any given moment, the power coming out of the battery is divided between the LED and the resistance. It's easy to see the ratio, because P=VI, where P is power, V is voltage, and I is current. Since I is the same everywhere, the power coming out of the battery is divided among the various parts in the same ratio as the voltage across those parts. If you have a 12V battery and a 3V LED, you must have 9V across the resistor. Thus for every 12W that comes out of the battery, 3W goes to the LED and 9W to the resistor. Since all the power that goes into a resistor is immediately turned into heat, and is essentially unrecoverable, this is a pretty wasteful setup.
In a switching driver, the extra voltage is dropped across an inductor. The magic of an inductor is that if operated properly, most of the power that goes into it is stored in a magnetic field, and can be gotten back out as electrical power rather than heat. The driver switches back and forth between two circuits. In one, power is drawn from the battery, and divided between the inductor and the LED as in the resistive driver. In the other, no power is drawn from the battery, and power is recovered from the inductor and sent to the LED.
Because current is drawn from the battery only part of the time and current is delivered to the LED all the time, if we look at average currents, we can see that the average current in the LED is higher than that drawn from the battery.
In an ideal switching driver, all the power drawn from the battery is eventually delivered to the LED. But since the voltage is different, and P=VI, that means the current needs to be different too. In fact, the ratio of input and output current is the inverse of input and output voltage. So if you had that same 12V battery, and 3V LED, for every 1 mA from the battery you'd get 4 mA in the LED. That's because 12V * 1mA = 3V * 4mA.
So far we've been talking only about systems where the battery voltage is higher than the LED voltage. Resistive drivers can only operate in this mode. But through the magic of inductors, switching drivers can actually increase the battery voltage. There are three primary types of switching drivers - buck, boost, and buck/boost.
Buck drivers can only decrease the battery voltage. In fact, some need to reduce it at least 1-2 volts in order to work properly, while others are okay with reductions as little as 0.1V or less. The required difference between input and output voltage is called the 'overhead' of the driver. If the LED voltage is higher than the battery voltage minus the overhead, the output current is reduced or zero. This is a pretty benign failure mode, and is often used to tell the user that the battery is dead.
Boost drivers can only increase the battery voltage. If you have a 36V LED array and want to drive it from a 12V battery, this is the kind of driver you want. But if the LED voltage is less than the battery voltage by more than a fraction of a volt, look out. You may have a catastrophic failure in your future.
Buck-Boost drivers have the best and worst of both worlds. They can increase the battery voltage if necessary,or reduce it if necessary. But in buck mode they don't have the efficiency of buck drivers, and in boost mode they they don't have the efficiency of boost drivers. Only a good idea if necessary.
Long post. Apologies. Stop now. Ask for more if you dare.