An MMU is pretty much necessary for robust multitasking. Without it, you are at the whim of how well software behaves. Without it, it is more difficult for developers to create well behaved software. That also assumes good intentions from programmers, since an MMU is necessary for memory protection (thus security).
While emulating an FPU results in a huge performance penalty, it is only required in certain domains. In the world of IBM PCs, it was also possible to upgrade your system with an FPU after the fact. I don't recall seeing this option for IBM compatibles. While I have seen socketed MMUs on other systems, I don't know whether they were intended as upgrade options.