It's a bit of a difficult question to answer. On one hand, we want to uphold the Community Guidelines and keep things as clean as possible for our users; on the other, we want to avoid being unnecessarily restrictive. I believe, however, that we have reached a good solution.
The last three words (heck, darn, gosh) you mentioned will be classified as "grey-area" words. It's up to the individual's convictions if they will use these words or not and we will not censor them. They are very common words—due to this, we doubt anyone would be actually offended encountering them.
However, Word No. 1 (crap) tends to carry a bit of a stronger meaning. We don't think it's necessary to keep around, and as the Bible supports (e.g. 1 Cor. 10:23-24 and the principle of 1 Cor 8:9), we ought to support those with the most conservative convictions. So that word, we will henceforth not allow.
I hope that's helpful. It ought to have been clarified long ago!