Was ist eigentlich der Sinn von NSAssert?

Ich muss das fragen, weil: Das einzige, was ich erkenne, ist, dass die App abstürzt, wenn die Behauptung fehlschlägt. Ist das der Grund, warum NSAssert verwendet wird? Oder was bringt es sonst noch? Und ist es richtig, einen NSAssert direkt über jede Annahme zu setzen, die ich im Code mache, wie...