A microkernel minimizes the amount of code you have to trust. MINIX as of 3.0 is also designed to be fault-tolerant, able to recover to almost any sort of bug. You tend to get a lot of transactional and message passing overhead though. For example the filesystem modules isn't allowed to access the disk controller, it has to ask the block layer to do it and pass the result. But the block layer can't actually pass the result directly, it has to check in with the microkernel to make sure it's okay.
But the future isn't bleak, not only has hardware in general become faster, there has been quite a bit of design advance around these sorts of messaging system that reduce the overhead micro-kernels generate.
I think the original argument was about design complexity though, not performance or security as linux started as a hobbyist desktop system. Linus's counterargument as that a microkernel design simply moved complexity to a different level and didn't actually decrease the complexity of a practical and working system.