I'm not sure if you want to know about storage on the iPhone itself, or storage by iTunes in the backups, so I'll take a stab at both. :)
See here for a more in-depth analysis, but the basic gist is that the .mddata
files are typically SQLite databases (occasionally encrypted), while the corresponding .mdinfo
files are the metadata associated with them. (Older versions of iTunes used .mdbackup
files.)
Here's a more practical description of retrieving data from an existing iPhone/iPod backup, and another one which does so with the more recent format. Also, there's this presentation that dives into the format a bit. Here's a blog entry about deciphering the obfuscated filenames, and finally, here's a StackOverflow discussion about decrypting the encrypted .mddata
files (which didn't end in a resolution of any kind).
On the iPhone itself, many applications store their data in a SQLite database directly because of the simplicity of doing so. Also, the Core Data ORM uses it under the hood, although that's really just an implementation detail.
But, as you've noted, there's no requirement to use SQLite; applications can store data in something as simple as a plain text file or XML document, or as complicated as a database of their own making.