Firmware es el rom oficial sacado por Samsung.
La versión de android es la que dice 2.3.4 ó 2.3.6, etc.
Puede haber más de un firmware por versión de android, esto porque Samsung saca roms por región. Consulta samfirmware para darte una idea de q firmwares son en cada región y a q versión de android corresponden.
Un kernel es un programa, es EL programa principal que le dice a Android cómo comportarse. Dependiendo de la rom q tengas puedes meterle kernels no oficiales (no hechos por Samsung). El kernel más famoso es cf-root porque te da root y algunas funciones que sólo encuentras en custom roms, con la ventaja q se puede aplicar a una stock rom.
El modem es el conjunto de configuraciones que le dicen a tu móvil en qué frecuencias busar redes móviles, WiFi, llamadas, etc. Cada país/región tiene sus frecuencias. Cuando flasheas nuevo firmware de otra región es posible que te ponga el modem de esa región, pero puedes flashearle por separado el de tu región y no te quedas sin conexiones. La razón para flashear un firmware de otra región es porque trae una versión de Android actualizada y corregida (en mi país no había ni noticias de tener la actualización oficial para Android 2.3.6, asi q le puse un firmware de la India en donde ya la habían sacado)
Lee y relee los stickys del foro pues ahí hay un Glosario y una cantidad brutal de tutoriales q seguro te van a resolver todas tus dudas (y te van a dejar con muchas más).
Suerte!