This topic was inspired by the fact that I've been playing through Far Cry on realistic for the past couple of weeks (I'm on chapter 9 out of 20 right now), and it is considered a frustrating game by most because it often delivers ambushes that rely on memorization and replay rather than stealth or skill.
But I've been thinking about this and from the games I've played so far, I've never seen a "challenging" game in which you didn't rely on memorization and/or knowledge of what's ahead of you. In the end, you always succeed because you knew exactly what to expect, and had time to properly prepare for it.
System Shock 2 is widely considered a challenging game (I also love it very much, don't flame me), but if you don't pull off a correct character build, you are eventually going to be harshly punished for it, and the game might just become unplayable. The first time through can be brutal. Then why is it not a frustrating game? What makes it challenging instead? When you go through it for the 2nd time, you only do well because you knew what to expect from the game. Or you just die so much at some point you end up learning precisely how to go through that particular section, but again only because you knew exactly what you were up against.
So my question is, why are some games regarded as "challenging" and others as "frustrating", when you always end up succeeding mostly because you know what's ahead of you? Where's the line that separates challenging games from frustrating ones?