Take this code:
for (int i = 0; i < numarrays; i++)
glDrawArrays (GL_TRIANGLE_FAN, arrayfirsts[i], arraycounts[i]);
Multi-draw allows this to be executed with a single draw call:
glMultiDrawArrays (GL_TRIANGLE_FAN, arrayfirsts, arraycounts, numarrays);
In theory this can give you better performance: by having only a single draw call, the driver need (again, in theory) only perform setup and validation once rather than once per draw call.
It's actually got nothing to do with VBOs explicitly, because it dates to GL 1.4; i.e before VBOs were added to OpenGL. Instead it provides you with a method of batching multiple draw calls to a single draw call, which is something that all GPU vendors recommend.
I made a point of emphasising "in theory" above, because in practice it's performance is going to depend on how the driver implements it. Some drivers may implement it entirely in software, and just treat it as a loop of individual glDrawArrays calls. Others may be able to take a faster path with it. OpenGL makes no promises either way.