http://www.digikey.com/product-search/es?lang=es&site=US&keywords=tip120
TIP120 es un BJT, que es una familia diferente de transistores que los FETs. A continuación se muestra una versión amplia y simplificada de cómo ambos funcionan. Lo siguiente asume NPN y NMOS, como se especifica en la pregunta. PNP y PMOS invertirían parte de esto.
Un BJT tiene una impedancia de base muy baja; básicamente, hay un diodo entre la base y el emisor. Esto significa que si el transistor está "encendido", la base del transistor estará aproximadamente a ~0.7V por encima del emisor. Si intentas llevar la base a un voltaje más alto que eso (digamos a 3.3V o 5V con un pin de E/S de microcontrolador), una cantidad indeseablemente grande de corriente fluirá y sucederán cosas malas. Debes tener algo entre el pin de E/S y la base del transistor para limitar esa corriente. Por lo tanto, el resistor. El lado del procesador del resistor va a 5V (o al voltaje lógico de tu microcontrolador), y el lado del transistor va a ~0.7V. Esta diferencia de voltaje, dividida por la resistencia, te da la corriente que se inyecta en la base. Eso, junto con las características del transistor, te dice cuánta corriente puede fluir ahora a través del colector-emisor del BJT.
Un FET tiene una impedancia de compuerta muy alta, por lo que no fluye corriente hacia la compuerta cuando está encendido. Aplicas voltaje entre la compuerta y la fuente, y el "interruptor" se cierra. La compuerta normalmente puede llegar hasta 20V por encima de la fuente, por lo que no suele ser un problema controlar un FET con un microcontrolador. En cambio, tienes la preocupación opuesta: ¡algunos FETs necesitan más voltaje de compuerta de lo que algunos procesadores pueden suministrar!
Ahora, hay todo tipo de detalles adicionales. A veces colocas un resistor en serie con la compuerta de un FET, para fines de filtrado. De hecho, hay flujo de corriente hacia la compuerta de un FET, especialmente al encenderlo y apagarlo, lo que puede ser importante para algunas aplicaciones. Y los BJTs y FETs pueden ser controlados en modo analógico, donde no están completamente encendidos o apagados, sino en algún punto intermedio. A veces eso es bueno, a veces es malo.
Cuando estoy usando mi sombrero de microcontrolador, tiendo a usar FETs siempre que sea posible. En general, son más fáciles de trabajar y sus pérdidas son menores. Los BJTs a veces son más baratos, y es más probable que sean la elección para aplicaciones de control analógico.