Oddly, the app I favor the most is Deep Green due to the elegance, simplicity and design. It is fairly forgiving for novices but the middle ground is very level so as to allow you to improve without getting totally destroyed. If you have a decent strategy, you can get a lot of play in the middle ground as long as you don't make whoppers of mistakes. I say oddly because it doesn't have many bells or whistles to "teach" the game - lacks opening books, training modes, post game analysis or export functionality. It has beauty and simplicity and I find myself actually playing it because it's gorgeous and I learn more when I play more.
Shredder Chess seems to be stronger for learning, but is not nearly as pretty and I'm not serious enough to want to play it over Deep Green. It has fabulous end game support, databases, move puzzles and hints. It also exports the games and has a discount on the Mac version so you can take your analysis to the computer which probably makes this the best learning program. You can preview the engine and the feel of the UI on the mac for free here to get a sense of the program. The iPhone app plays a lot like the mac app. It's a 30 day demo and it's not as massively strong as Fritz and some of the really bonkers engines out there.