Core Data lives in an unfortunate in between world. It's way too complicated for small amounts of data, and it's too slow for large amounts of data. It's useful if you have medium amounts of data, such that you can't reasonably keep everything in memory and rewrite everything to disk for serialization but don't have so much that you start to hit performance problems, but how often are you in a situation like that where you know your data won't grow larger?