More terms to throw at you. Firmware is software more or less. It's software that runs in an "embedded" environment.
embedded software
firmware
An incomplete definition of firmware but basically it's embedded software that directly interfaces to the hardware to provide the required functionality of the device such as a router. Think of all the functions inherent in your router and the firmware is the software that facilitates those functions more or less.