although in this case a 2 dimensional array has higher performance.
Raw arrays should always be avoided, wheter static or dynamic. It's a widespread myth that doing things on a lower level (aka. as much raw pointers, manual memory management and re-invented wheels as possible) magically increases performance.
It's not a myth, however, that when quoting out of context you can severely distort what was actually said and take advantage of that in order to "prove" whatever you want to.
Unless, of course, the fact that an array of pointers to arrays (which vector of vectors happens to be) is slower than a single array (which
T [N][M] happens to be) is also a myth. But it's not, the former requires one more indirection to access an element than the latter, and the former is very cache-unfriendly, especially when compared to the latter.
Cheers,
Advocatus Diaboli