Também existe o unikernel que vai para o lado oposto. Na verdade ele funciona mais como uma biblioteca operacional, já que não tem um espaço de usuário a aplicação fica junto do kernel e tem o melhor da performance, costuma ser até mais seguro porque permite muito pouco já que só tem o que a aplicação precisa, e não deixa interagir de formas variadas por não ser genérico. Ele só tem o mínimo para dar acesso ao hardware e facilitar o uso, mas não é muito flexível. Não pode ter erros sob pena de derrubar tudo.
O Linux é monolítico, o Minix é microkernel e o Windows e o OSX são híbridos. Obviamente na prática é possível obter mais ou menos as mesmas características em qualquer forma. O jeito de fazer e os cuidados necessários em cada um é que pode mudar. Algumas pessoas consideram o Linux como híbrido já que apesar dele ser monolítico ele possui módulos externos de kernel.
Muitas vezes é difícil definir o que é um ou outro. De uma certa forma todos mais usados acabam sendo híbridos de alguma forma.
É possível resolver as dificuldades de cada um com técnicas específicas. Não há uma clara vantagem de um sobre o outro e há enormes debates sobre isto. Ninguém provou inequivocamente qual é melhor, mas pelo que vemos os sistemas operacionais mais usados para aplicações em geral são híbridos, em menor ou maior grau. Aplicações específicas podem se beneficiar mais de um tipo ou outro.
Um exemplo que diferencia um do outro é a filesystem. Em um microkernel normalmente este é um componente isolado, já no monolítico ele faz parte do kernel. Drivers são outros exemplos, se eles serão executados dentro do kernel ou fora depende da filosofia do kernel.
Esta separação depende da filosofia adotada pelo produto. Independe de onde vai rodar, ainda que obviamente o local de uso pode afetar a sua filosofia. Há sistemas operacionais com núcleos completos, que até GUI está no kernel, e cabem em um disquete.
Se você vai trabalhar com um PC Desktop, vale à pena contar com todos os recursos de um kernel completo ou mesmo considerar o suporte a diversos sistemas diferentes para a sua aplicação e nesse caso o suporte a um kernel completo é recomendado, já que dificilmente as pessoas usam micro kernel em seus PCs.
Se você vai criar um projeto embarcado, onde você vai garantir o hardware e o software... Seu trabalho vai ser o de otimizar a solução para a sua aplicação e então passa a ser relevante e o kernel menor, que poderá ter menos overhead, menor custo e os controladores/processadores que rodam esse tipo de solução costumam consumir menos energia, o que acaba ajudando projetos que usam bateria (se todos os recursos que ele oferece te atenderem bem).