На любом языке, основанном на C, рекомендуется включать то, что вы используете.В будущем по какой-либо причине заголовки могут быть изменены, и CoreData.h может больше не включать Foundation.h.
Если вы не включите то, что используете, ваша программа не скомпилируется и может статькошмар переносимости между несколькими версиями API.
#imports // are for Objective-C headers
#include // are for just C headers.
Скорее всего, они просто пытаются научить хорошим практикам тех, кто читает учебник.