It's strengths are that what is written is virtually standard C code, with the addition of lots of function calls to the Windows API. This makes it a very flexible method, allowing you to write a program that is either as efficient and compact or as bloated and slow as you and your programming ability allows.
It's big downer is that it can get horrendously complicated, even the simplest little program can require an enormous amount of code and to get a large App working correctly will require huge teams of very highly skilled programmers.
I read somewhere that to write a WinApp in this way takes typically ten times the effort to write one with similar functionality in (for example) DOS, and having dabbled a little with it myself I can well believe that. If you've got some C experience though, it can be well worth having a go at a few small projects, you may lose a bit of hair in the process, but you'll learn a lot about window's internals that may well come in handy later.
The strengths of this is obviously that its so easy to use. A single programmer can very quickly get some simple sort of App up and running in a relativly bug-free state. This is not to be sniffed at, many programs are required simply to work instead of working at a breakneck optimised speed, and if you can get it to that state in one day instead of ten, then that is a huge plus for you.
It's weaknesses are that: [i] it is not very flexible - you're tied into doing things the way that the program manufacturer (i.e. MS) wants you to, [ii] the programs are structured in the way that the VB decides (no tense code here!), [iii] despite what VB programmers may tell you about the fact that VB and VC++ havethe same compiler, you will still not however get the same object code, and so unless it's done by a complete monkey (or MS personel member) an App written in VC++ will normally perform better than one done in VB, and finally [iv] you always need various 'dll' files (such as VBRUN300.DLL) somewhere on the system, so that everyone will know that you're writing in VB and you'll be heavily despised by your programming peers.
Look at why I hate AppWizard so much to see the sorry tale of my early experiences with MSVC. In short, after my first traumatic exposure to it I pretty much left Windows programming alone for quite sometime, until thanks to a few serendipidous discoveries, it gradually dawned on me that there was in fact a fifth way.
Turbo Pascal (and later Turbo C) was the darling of 80s programmers. Most people (well, me anyway) who used it then remember their introduction to it with absolute joy. It's combination of intuitive IDE (maybe the first one ever) and lightning fast compilation times seemed to take away 90% of the grind of programming and turned it almost into a pleasurable experience. The company started as a one man effort but rapidly grew until it seemed like TP would take over the DOS world! But then sadly everything seemed to fall apart as the company (now Borland) became more coporate and detached from the programmers it had origionally served so well.
Delphi then seems to have been a bit of a saviour for Borland, allowing it to rise up from impending doom. I haven't actually tried this myself but all of the reports I hear of it seem to be extremeley favourable. You can usually tell if program has been written using it by the slightly non-standard dialog boxes that you get, eg. a plain old confirmation box will have a big green tick on the OK button.
Unfortunatly Borland doesn't have either the commercial muscle or apparently the marketing skills of MS, and so, depsite it's obvious high quality, the future of Delphi is not 100% rock solid. Nevertheless, if you are reading this with no prior Windows programming knowledge, and are looking for a way into it, then dumping MS altogether and going to Delphi might not be the worse move you ever make in your entire life.