Currently I run all my gadgets from batteries and don't use decoupling capacitors. Are they generally needed/useful when drawing energy from a battery?
In broad terms, you should always use them. It is simply something that cannot hurt you to do, but could cause serious problems to ignore.
You have probably not seen any major problems with your batteries because they are placed relatively close to your chips and because they have an internal resistance to snub higher frequency signals.
This could still cause power concerns in higher frequency signals. If a Microcontroller runs at 20MHz then you are having 20e6 pulses of current pulled per second. This may not seem like a big issues, but when enough inputs change at once you may cause ground bounce or many similar problems that come with high inductance paths to ground.
The wikipedia article has some background if it helps.
Little extra on decoupling capacitor terminology
The job of a decoupling capacitor is to "decouple" your devices power draw from the rest of the circuit. If a decoupling capacitor does its job you will only measure a DC power draw. They remove the AC wave.
There are different terms for decoupling capacitors.
The bulk capacitors act as large power sources that can supply power for periods of time, these are required for functionality. Without a bulk filter cap you will have to have time dependent current as your chip pulls power on it's cycle.
Bypass capacitors are often of lower value and are designed to terminate higher frequencies. As frequency reduces your impedance decreases for capacitors. A smaller value capacitor has a higher impedance. These small capacitors are the backbone of terminating higher frequency waves.
Decade capacitors are another term for bypass caps but the name implies more. If your bulk filter cap is .1uF then your decade caps will be .01uF and .001 and even .0001uF depending on what you are doing. Normally I only see 1 decade cap, but I have had to use 2 or 3 before.
Decoupling isn't about smoothing out power, decoupling is about suppressing the high frequency noise generated by circuits that generate high slew rate signals, especially logic circuits.
When a node changes through several volts in a matter of nanoseconds, it takes a brief slug of current to charge/discharge the capacitance at that node. If you have a bunch of IC's sharing supply wiring, the inductance in the supply lines means that those slugs of current going into one IC translate into supply voltage dips for the other IC's, and this can glitch things into unintended states.
The reason you stick a good high-frequency cap on every IC is to provide individually for these gulps of current, thereby 'decoupling' the supply demands of the ICs from one another.
They're useful because devices drawing power can also cause ripples - not just the regulator. For instance a microcontroller will draw more current on a clock rising edge and less otherwise. This draw causes the supply voltage to be drawn down ever so slightly. If everything is running off of the same clock it gets worse. With a capacitor on the power pins there's a reserve available to minimize this ripple. It's a good idea.
A battery has an internal resistance. The pulses of current drawn by microcontrollers and other digital logic can cause dips in the battery voltage. A bulk decoupling cap (10µF or so) across the power rails is necessary to prevent big dips causing problems. Don't forget small 100nF caps are also necessary on the Vdds of all digital logic ICs to provide a local current source. The inductance of traces on your PCB will make these necessary, or you may discover strange and unusual bugs are affecting your circuit.
Every time a transistor changes state in a digital system, it takes a tiny bit of current to switch. Tons of the transistors in a logic chip or microcontroller are changing at nearly the same instant. When that happens, the power consumed by the chip spikes briefly. Bypass (or decoupling) capacitors help supply that power so that those brief load spikes don't cause the supply voltage on other chips to drop. (Especially since the other chips might be briefly needing their own surge of current at the same time.)
That's why you want very fast (small, low ESR) caps located near each IC, as close to the power pins as practical.
The big caps near the power supply provide the current to carry the load while the AC supply goes through 0V, and the small/medium caps near the supply help refill the bypass caps scattered all over the board.