Nowadays, MMX (and newer SIMD instruction sets) are a crucial part of many optimizations. Hyperthreading is provided in all modern processors. Basically, those technologies proved themselves.
At the time the SIMD instruction set did not exist and the MMX instruction set was difficult to apply in a way that got us an advantage in our application. When you say all modern processors have Hyperthreading, are you sure you don't mean multithreading? I am not sure every processor has hyperthreading. I am not knowledgeable enough to argue about the overall value of MMX and Hyperthreading but I think the point of the article at the top of this page is that it in the end -- although maybe not at first -- it was counter-productive.