Qual é a diferença entre ng-if e ng-show / ng-hide

Estou tentando entender a diferença entre ng-ife ng-show/ ng-hide, mas eles parecem iguais para mim. Há uma diferença que devo ter em mente ao optar por usar um ou