It's not that hard to explain
Firmware vs Software – What's the Difference? | DeepSea Developments
Technically, Firmware is just a subset of Software, since the latter term encompasses any useful piece of code. In practice, however, the term software refers to an entirely different class of programs.
In general, firmware is the name for low-level code that communicates directly with the hardware. All the programs that operate at this layer are called software. Confused? Here’s a deeper look.
The problem with the term software is that it is too broad. Any set of instructions that can control a computer – or any other electronic device, for that matter – can be considered software.