VB is a higher level language than C++. Higher level languages provide a few advantages, namely they have a lower learning curve, take less time to actualy write the software, and they are much easier to port to other platforms. But as eagle mentioned, the higher level the language is, the less versatility, and less processing speed you will obtain, because you are communicating with other software, which communicates with the OS, which communicates with the hardware. The only reason you should use higher level languages is if you want to write software that doesn't have to be particularly fast or isn't supposed to do anything out of the ordinary, other than process a few numbers or automate a relatively simple task, or if you just want to be able to come up with a reasonably useful program in a small ammount of time.
If your planning on writing a front end or something equaly uncomplex, use VB, if your trying to write something like an emulator, which is several times more complex, you definitely want a lower level language. Assembly seems to be the prefered language in this area, but C++ is ok for the older and slower target platforms.