An elite brand of coder, the reverse engineer usually takes a finished product (generally compiled or in a propietary format), and through a variety of techniques, is able to understand the inner workings and to apply that understanding in a variety of ways...
Why? Sometimes just for intellectual curiousity. Sometimes from boredom. And sometimes you need to convert a proprietary driver/format for one Operating System and port it to another. Jon recently did this to create a Linux driver for a small receipt printing machine we'll use @ LinuxWorld this year.
Of course you don't have to limit the scope of the reverse engineer to formats and compiled code - you can also reverse engineer, say, a Snickers Bar, or even a Sheep ;)
Black T-shirt, with 'reverse engineer' printed in reverse on the front.






