The difference is that *ngForinternally converted to <template ngFor [ngForOf]="...".
They are equivalent, but the first is more convenient to write.
The explicit version ( <template ngFor ...>) allows you to apply the directive to several elements at once, while the implicit version (shorthand) only wraps the element to which it is applied with a tag <template>.
Angular 2.0.0 <ng-container>, , <template> ( DOM).
.