Hand-optimised assembly can be faster, but it's only by a minor amount normally. This is why in professional game development C++ is used for most things. Hand-assembly was often used for things which needed that minor speed boost or strange instructions (like SIMD), but compiler intrinsics have mostly replaced the latter.
EDIT: Unlike vs Java and other languages, where there is an order-of-magnitude speed difference...
Order of magnitude? Really? So you think DF written in Java would cruise at 5 fps in situations the C++ version would go 50 fps? I would like to see one benchmark where Java was an order-of-magnitude slower for anything. In the real world, the languages run on par. This is confirmed by anyone who actually good at both of them and by plenty of benchmarks that can be found with a simple google search. I can see how average people would be confused, just repeating what what they hear in chat rooms and such but...
What really boggles my mind is the thought that assembly is just a small improvement? In situations where cycles matter, such as embedded or nuclear/scientific calculations people use assembly for huge gains. You write an assembly program totally different, there is no equivalent to what you are doing in c based languages.
Professional game developers usually license an engine(that usually has a codebase that predates java). To assume the guts of those engines is not in assembly is absurd. It is hard to tell because the current code behind those engines is not open. Still, the source for engines id software has open sourced are full of assembly and those couldn't be ported to Java or C without a huge performance loss.
You could write an engine from scratch. It would suck compared to what is out there, but lets ignore that. If you were starting from scratch, you might as well use Java with opengl bindings. You would finish the project faster and get free portability. The left-over time could be used to profile the code to run faster than the c++ version that just squeaked out the door. It happens all the time in the business world....
There's also the development time to consider...
If DF was written in assembly, it probably wouldn't be playable at all yet. Writing c++, on the other hand, isn't a lot slower than writing java.
Are you sure about that? DF did start in 2002.