*It has a very fast learning curve.
*Integrates the design and implementation of Windows forms.
*It allows to easily use the platform of Windows systems, since it has almost total access to the Windows API, including current libraries.
*It is one of the most widely used languages, so it is easy to find information, documentation and sources for projects.
*Easily extensible through DLL libraries and ActiveX components of other languages.
*It makes it possible to add support for executing scripts, VBScript or JScript, in applications using Microsoft Script Control.7
*It has access to the DirectX multimedia API (versions 7 and 8). A component to work with OpenGL 1.1.8 is also available, unofficially.
*There is a version, VBA, integrated into Microsoft Office applications, both Windows and Mac, which allows programming macros to extend and automate functionalities in documents, spreadsheets and databases (Access).
Although it allows to develop large and complex applications, it also provides an adequate environment to make small rapid prototypes.
*Versioning problem associated with several runtime DLL libraries, known as DLL Hell.
*Poor support for object-oriented programming.
*Inability to create multi-threaded applications, without having to resort to calls from the Windows API.
*Dependence on complex and fragile COM registry entries.
*The ability to use controls in a single form is very limited compared to other tools.