ANS does not specify that certain words must be immediate, this is left to the designer of the implementation. As a consequence, it is not always obvious whether the word COMPILE or [COMPILE] is needed within a definition. The word POSTPONE is designed to safely replace both words without regard to the immediacy of the word that is being compiled in.
In spite of this simplification, there are situations that can be confusing. The confusing cases typically would have used the sequence COMPILE [COMPILE] some_word, which is a confusing sequence to begin with.