Hi Vanesch,
I was hoping some one else would answer this, because my answer is going to be pretty crappy. Here's my guess. As far as I know, Mathematica isn't good for large data sets. It's good getting relatively small models done quickly. I'm guessing the same applies to Matlab
C++ can compile (Mathematica can too, but I don't know how good the compiler is). Object oriented programing allows for clever algorithms and clearer coding. More control over which algorithms are used and fine tuning them. Mathematica's library is very good, but I don't know how optimized it is for enormous data set processing
