I try to get the hang of it, but for now both seem the same thing to me. However, Xcode allows to create an Console App with choice of using "Core Foundation" or just "Foundation". Maybe someone can point out the differences.
Core Foundation is the C-level API, which provides CFString, CFDictionary and the like.
Foundation is Objective-C, which provides NSString, NSDictionary, etc.