Firmware is the software that's stored in the device itself that tells it how to operate. It stays in the device (camera) and is ready when you turn it on.
Pentax released an update for the firmware in my *istD. I downloaded a file to my computer from their web site. Then I copied that file _onto_ the compact flash card. That's pretty straightforward. The next step was to make sure the batteries in the camera are fully charged. Insert the CF card into the camera, press the particular set of buttons, and turn on the camera's power switch. That then causes the camera to update it's firmware. (If the power should fail while this is happening, the camera needs a -- probably -- expensive trip to the factory. That's why making sure the batteries are fully charged is cheap insurance.) It's not really a big deal. Just make sure the firmware downloaded _is_ for your particular camera: sometimes it depends upon the camera serial number.
Here's some technical detail, which you may skip.
When I first studied computer science, we played around with firmware. It's _very_ low level, talking directly to the hardware. The idea is you can change how particular chips operate, without having to reroute wires. (It's not exectly that, but pretty close.) If you mess it up, then you can have an expensive paper weight.
The next level up from firmware, is software. Which can be written in a multitude of notations: you've possibly heard of C, C++, VB, et cetera. Or my favourites: Pascal with Objects (Delphi), and Smalltalk.
The next level down from firmware, is hardware. That's the "paper weight". <vbg>
&i (: