Default [Q] What are firmwares, CSC, kernels etc..

Hi, I'm planning on flashing a custom rom and I don't know a thing about customization, it would be greatly appreciated if anyone could explain those things? Thanks!