Isn't C++ still pretty much the fastest language out there, except Fortran for some numerical applications? I thought that's the main reason to use it over Python/Java/etc.
Who said anything about Python or Java? In any case Java and C++ are roughly similar. The next tier of languages such as Rust or Haskell are within a small constant factor in the usual benchmarks. But quoting such benchmarks is questionable because the C and C++ implementations require much more man-hours of hyper optimization to get into that top-tier position. The real important takeaway is that the first or second attempt in C++, by someone who is not a language lawyer, is nowhere near the maximum achievable speed. Whereas the first or second attempt by a similar layman in a reasonable language like Haskell is not only faster than the initial C++ version, but has fewer bugs as well.
C++ and Java are absolutely not similar in terms of performance. Java requires a virtual machine, C++ compiles to binary. Not in the same league.
And in regard to the first draft of a C++ program being slow until you spend lots of time optimizing it, when comparing to say Haskell, that is not at all my experience. I'm generally able to write clean and efficient programs in C++ on the first draft, and they are invariably more performant than if I had written it in a slower language, without a significantly greater amount of effort.
Java doesn't require a VM per se, there are plenty of commercial JDKs that compile straight into native code.
In case you want to state that a VM is like a language runtime in that case, C++ also needs one for handling exceptions, RTTI, global constructors/destructors, floating point emulation,...
Speaking as someone who has spent time optimizing programs in both languages, Rust is certainly not in the same tier as Haskell. It should be in the same tier as C or C++. If there's a program where it's not, then we consider it a bug. (And indeed, those exist. :-) But they are fixable!)
Hence why already back in 1993, when faced with the option of Turbo C 2.0 vs Turbo C++ 1.0, I could not understand why bother with C at all, still don't.