En general, se considera que un microcontrolador es un dispositivo integrado que se programa internamente para realizar una tarea específica. Hay una interacción mínima del usuario y poca o ninguna flexibilidad. Un microcontrolador suele tener una potencia bastante baja con solo pequeñas cantidades de memoria y ROM (flash).
Por el contrario, un sistema en chip es el otro extremo del espectro. Está más orientado hacia la flexibilidad total y la interacción del usuario. A menudo incluye cosas como controladores IO para hardware más grande (como discos duros, etc.) e incluso a veces un adaptador de gráficos. Un sistema en chip es más como un sistema informático completo, sí, en un chip.
Hay bastante cruce entre los dos: ¿cuándo deja de ser un microcontrolador y comienza a ser un sistema en chip? De ahí proviene gran parte de la confusión.
Básicamente, si puede hacer lo que una computadora puede hacer, entonces es un sistema en chip. Si está orientado, por ejemplo, a sentarse dentro de un teléfono de escritorio que administra su lista de contactos, o en un sistema de entrada de teclado, o hacer funcionar los motores en una máquina CNC, entonces es un microcontrolador.
PD, no me cite sobre esto, ya que digo que hay mucho cruce entre los dos.