Drew Crawford sells Core Data like no-one else:
CoreData is hairy because it solves real problems. There is no universe in which you are going to avoid writing a big hairy mess because you understand how to structure real-world data access for Mac and iOS applications better than Apple. None. CoreData is used across tens of thousands of applications inside and outside of Cupertino because it's good. It solves problems your software actually has.
Nailed it. If you need a persistence layer for your application and you don't have outlying performance requirements, then you should really use Core Data.