What's a Kernel?
A kernel is the software on your R4 that lets you run .nds files through it. You can think of it as the operating system of your flashcard, or, simplier, as its menu. The flashcard boots the kernel right after it's run from your console menu. So if the right kernel isn't installed on your sd card, the R4 won't boot up and will most likely give an error.
What's a Firmware?
A flashcard is made of different components, which include a rom, basically a flash memory. In this memory is stored the firmware of your flashcard, which is the software that allows it to being read by your console, and to boot the kernel from the sd card. If a flashcard isn't correctly read even if it has the right kernel, that's probably due to your console not being able to read the firmware, or blocking it. In this case, a firmware update could unblock your card, or even make it runs on newer consoles although to update you usually need a console which can boot your flashcard.