In case based on one condition we have to display an element/ html section , then ngIf is suitable. But if we have multiple elements / html sections for different value of an expression/ property , then we should use ngSwitch.
Ex:-
ngIf
<div *ngIf="showSection()"> show this section if showSection() method returns true </div>
ngSwitch
<div [ngSwitch]="property.value"> <div *ngSwitchCase="'1'"> show this section if property value is 1 </div> <div *ngSwitchCase="'2'"> show this section if property value is 2 </div> <div *ngSwitchCase="'3'"> show this section if property value is 3 </div> <div *ngSwitchDefault> show this section if property value is neither 1 nor 2 nor 3 </div></div>