В статье проблема сформулирована довольно точно: если вы пишете заголовок с намерением использовать его с #import (он же не включает include guards / et c), то вы ожидаете пользователя этого заголовочного файла, чтобы использовать #import или другие средства, чтобы убедиться, что файл включен только один раз. Если пользователь этого не знает или если заголовок используется с компилятором, который не поддерживает #import (или делает что-то еще с этой командой), тогда ваш заголовок не будет работать должным образом. И, особенно в больших проектах, над которыми работает много людей, есть большая вероятность, что когда-нибудь кто-то может случайно #include этот заголовок вместо этого, или что проект будет перенесен на другой компилятор в будущем.