Es que BASIC es un bicho raro
, naah, broma, yo diría que la principal diferencia es que en un bucle for al momento de iniciarse (en la mayoría de los casos) ya se sabe cuántas iteraciones tendrá el código, mientras que en el bucle while no, la condición puede darse en cualquier iteración.