¿Cuál es el punto de NSAssert, en realidad?

Tengo que preguntar esto, porque: Lo único que reconozco es que si la afirmación falla, la aplicación falla. ¿Es esa la razón por la cual usar NSAssert? ¿O qué más es el beneficio de esto? ¿Y es correcto poner un NSAssert justo por encima de cualquier suposición que haga en el código, como una...