A l'époque, d'un côté on avait du Visual Basic qui en effet est basique, et tellement permissif (non structuré) que la plupart des codes que j'ai vu ressemblent à des tas de boue collés péniblement avec du scotch. Il faut dire que les SSII avaient souvent l'habitude de mettre des débutants sur les projets, et les laissaient se dépatouiller au hasard jusqu'à ce qu'en apparence l'objectif soit atteint.
D'un autre côté, le C++ et les Windows Foundation Classes, ou le simple fait de poser un bouton sur une fenêtre nécessitait 30 lignes de code. Réservé donc aux programmeurs très expérimentés.
L'avantage donc de Delphi, c'est qu'un débutant peut faire un programme complexe simplement avec le concept RAD (Rapid Application Development), et être guidé par la structure rigoureuse jusqu'à ce qu'il comprenne qu'en informatique, mieux vaut ne pas trop laisser de place au hasard.
On a le temps d'apprendre au fur et à mesure l'utilisation de composants de plus en plus élaborés, avant de s'attaquer à de la programmation de plus haut niveau comme la création de composants et librairies d'objets spécifiques.
En bref, un débutant y trouve son compte pour faire des applications propres, structurées, efficaces, et est guidé peu à peu naturellement vers l'expertise.
Delphi s'occupe de tous les détails moins amusants, mais contrairement aux autres langages vous avez accès à l'intégralité du code source des librairies de la plateforme, et vous pouvez donc regarder l'intérieur du moteur jusqu'au moindre appel de fonction de l'API Windows, pour comprendre exactement comment tout cela fonctionne au niveau de l'OS.
D'ailleurs, rien ne vous empêche d'appeler les fonctions de l'OS nativement si vous le souhaitez. Un expert habitué au C++ et au cœur de Windows y trouvera son compte aussi, il pourra bidouiller à souhait et faire des bibliothèques tout aussi complexes et performantes en se concentrant juste sur l'essentiel.
Pourquoi les SSII n'ont pas toutes basculées dessus dans les années pré-C#, ça me dépasse.

1) Visual Basic est gratuit, Delphi est payant. C'est remboursé au bout de 2 semaines d'efficacité accrue, mais il y a toujours des gestionnaires pour ne pas arriver à voir ça.
2) VB permet aussi de faire des macros Office. Il faut bien admettre que dans cette situation on arrive à des résultats époustouflants, parce qu'un simple script qui manie la puissance d'office en quelques lignes de code en boucle, ça fait vite gagner du temps et de l'argent.
Donc VB c'est du simpliste juste bon pour faire des petits programmes de script qui a évolué bien au-delà de son "domaine de compétence", pour lequel il était conçu à l'origine, et qui s'est retrouvé avec le temps en première ligne pour les applications professionnelles créées par les SSII.
3) Justement parlons-en des SSII, françaises en tout cas. Dans les années 2000 il manquait d'ingénieurs et techniciens informatique, ils ont incorporé par camions des gens non formés à l'informatique, voir sans background scientifique. Ils n'avaient pas le temps de les former et donc VB étant permissif, les débutants pouvaient arriver à des résultats plus rapidement et avec moins de frustration au début.
Mais avec peu de chances de vraiment devenir des bons programmeurs, efficaces, et de créer des applications complexes et stables. Pour les SSII qui sont payées au temps passé, c'est mieux si les employés restent à ce niveau tant que le client est habitué à voir cette médiocrité partout et au même (bas) prix journalier.
Voici deux exemples très significatifs de ce que j'ai réalisé avec Delphi. Mes débuts d'un côté, ou j'apprends l'environnement et me base sur un accès très simplifié à des choses auparavant difficiles : des interfaces graphiques complexes conçue en visuel par drag & drop et configuration, et un composant réseau TCP/IP.
De l'autre, mon jeu complet le plus aboutit. La grosse nouveauté étant les graphismes hybrides entre les composants visuels et un viewport DirectX pour le plateau de jeu, impossible à réaliser proprement avec les API Windows classiques .