It does exactly that. It builds missing grammars. No really.
OK. Even though it does exactly what it says, it does need clarification. Even I get confused when I think about it sometimes.
It is a bit complicated to explain but here goes:
First of all it helps to know that any "Group" becomes a "Grammar" as far as the speech engine is concerned. Each Grammar can be pre-compiled. This process can take quite a long time, especially for large grammars (e.g. play artist commands etc.). Once it is pre-compiled though, it can be loaded very quickly. These cache files are stored in the srgs folder. If you delete that folder, it is the same as "clearing the cache".
When you start VoxCommando it will always rebuild any missing grammar caches too, automatically, except that you have to wait for it to build the missing grammars before you can use VC. If you are using VoxCommando and you choose build missing grammars, it will do it in the background and you can keep using VC normally.
Grammars need to be built if they are missing (there can be a number of reasons for this), or if the grammar depends on a payloadXML file that is newer than the grammar cache, presumably because you have used GenXML to update the data in the payloadXML file. But you might have edited a payloadXML file by hand or used some other method like a VC action.
When you use the GenXML options from the main menu, the rebuild usually happens automatically so you usually won't need to use this "Build missing grammars" menu item. When you edit your command tree it usually will rebuild automatically too, but not always so in some cases this command can come in handy. Most people, most of the time, won't need it. The same is true of "Purge Cache". You usually don't need it. But if things are "funny" you can purge cache, which will delete all the grammars from the cache, then you can rebuild missing grammars.
I hope this makes a reasonable amount of sense! Thanks for listening to me ramble.