Permítanme descomponerlo en cuestiones distintas:
En primer lugar, VB6 no es VB.Net y no utiliza el .Net Framework, pero en su lugar utiliza el marco COM mayores. (No puedo decir si ya sabías esto).
En segundo lugar, lo que su enlace está apuntando a son realmente las clases incorporadas a VB6. Aunque, sí, los llama "Objetos". Terminología descuidada de su parte.
En tercer lugar, y probablemente lo más importante, en VB6, todo no es un Objeto, y los Objetos ni siquiera son la categoría predeterminada o dominante de tipo de datos. Lo que es, es algo así como los tipos de valor de .Net, pero mucho menos (la mayoría ni siquiera tenía contenedores de tipo de tiempo de ejecución, solo direcciones en la memoria).
Así que la mayoría de los elementos de datos no eran objetos, no tenían clases, por lo que no tenían herencia de ningún tipo, por lo que no derivaban de otra cosa y no tenían una "jerarquía de tipos" y no podían tener tenía algo en "la parte superior" de su jerarquía de tipos (aunque las cosas que eran clases/objetos sí tenían todo esto). Por lo tanto, no tenía ningún tipo de datos de base/raíz que pudiera usar para cualquier otro tipo de datos, lo que hubiera sido un problema para todo tipo de situaciones de paso de parámetros, etc.
Las variantes eran una especie de solución anterior a este problema que en versiones anteriores de VB se implementaron (antes que los objetos en VB) para solucionar este problema. Una variante es solo un descriptor dinámico que envuelve otro elemento de con cualquier tipo de datos. Cuando lo usa, (generalmente) actúa como si estuviera usando directamente lo que contiene, pero realmente va a a través de la Variante para acceder al tipo de elemento de datos que actualmente contiene.
El Variant en sí mismo realiza un seguimiento de cuál es el tipo de datos de su contenido y hace que el código VB acceda a que se comporte de manera diferente/apropiada (un tipo primitivo de polimorfismo).
Si esto suena como su kludgy y era un montón de sobrecarga, bueno, lo era. Pero en ese momento era la mejor solución disponible cuando necesitabas manejar "cualquier tipo de datos".
Una variante de VB6 contiene una estructura descrita en http://msdn.microsoft.com/en-us/library/aa908601.aspx – Bob77