For the moment, we'll just talk very briefly about why we'd even need Core Data.
Core Data basically offers you a way to avoid reinventing the wheel every time you need to store, manage, and present data. We're all developers, we all need data management, and to a large extent (and I do mean large), Core Data saves us a ton of code writing, testing, and debugging, by exposing to us ready-rolled solutions for many of the tasks surrounding data.
Core Data is not a database. It contains abstractions of dealing with databases, and very efficient ones at that, but it is not a database as such, and it is much more than a wrapper around SQLite (for example). However, a lot of the concepts and nomenclature around Core Data are borrowed from the database world.
Core Data allows us to quickly, reliably, and efficiently deal with data, in a way that is consistent across apps...