The main benefit of using multiple profiles is having fewer options for the speech engine to check against.
If you have many (derived)commands, the speech engine will have to compare what you've said to more data, which can potentially slow down the process of executing a command. However, the point at which this becomes perceptible will depend on the performance of your machine.
It should be noted that variables do carry over between profiles; If you set something in one, it will be accessible in the other, and vice-versa. Only when VoiceAttack is closed is the data "lost"(Unless you save variables to a profile, of course).
In my personal opinion, it's easier to maintain a single profile, though if you foresee having thousands of command phrases, you may want to design it as multiple profiles, to avoid having to split them up later.