If you have a lot of meshes, static allocation is going to consume a lot of your system resources, and those aren't let go even when they're not in use. With static allocation, you have to make a guess up front about what your memory consumption is going to be.
I think you're confusing what is meant by "static allocation" here. First of all, no game engine where things are managed dynamically can be truly 100% statically allocated. Even if you pre-allocate slots for all your entities, meshes, etc., you still have to implement some sort of dynamic allocation within your static system anyway.
What he means by "static allocation" is this: In C++, every object instance does not need to be dynamically allocated - for example your Entity class can contain Vector3 objects, Quaternion objects, etc., which are all "baked" into the Entity's memory block, rather than allocated individually. In other words when you create a "new Entity()", it requires one dynamic allocation, rather than ten.
Of course you're going to be doing dynamic allocation / deallocation in C++, but compared to BlitzMax/C#/GC languages, there's usually much much less (although it's up to the programmer).