Po co właściwie NSAssert?

Muszę o to zapytać, ponieważ: Jedyne, co rozpoznaję, to to, że jeśli asercja się nie powiedzie, aplikacja się zawiesza. Czy to jest powód, dla którego warto używać NSAssert? Albo jaka jeszcze jest z tego korzyść? I czy słuszne jest umieszczanie NSAssert tuż nad jakimkolwiek założeniem, które...