Ability and Skill Checks tell you something about your world.
My policy on this issue is somewhat unusual. I (usually) use skill checks and ability checks to determine something about my world. For example, let us imagine that a character wants to climb a wall. I probably have a rough idea in my head of how difficult this particular wall is to climb, so I set a DC for it. If the player succeeds, their character climbs the wall, if they fail, the character starts, then falls (or some similar outcome). So far, pretty standard.
However, that check has now told me something interesting - that wall is too difficult for that character to climb in those circumstances. This means that, no matter how many more times they attempt it, they will always fail - it is just too difficult for them. Now, if circumstances change (a friend gives them a leg up, they acquire pitons, etc.), they are welcome to make another check. If they fail even that one, that is usually a good sign that the particular challenge is just too difficult no matter what the circumstances. Clearly, exceptional circumstances (like acquiring a ladder), could make the challenge possible once again - common sense must be excercised.
What I find to be the benefit of this system, is that it gets around the knowledge check problem. Knowledge checks are annoying because there isn't a clear challenge that the character is facing. They exist to work out whether a character knows something or not. Now, in (gasp) real life, although we might suddenly remember something later on, trying to remember something doesn't usually work. We either know things, or we don't. We can't just 'try again' to know it. Thus, if a player fails a knowledge check in my game, that means that their character does not know that piece of information. No matter what they roll from now on, their character just does not know.
Of course, alternative circumstances could arise to change this. They might, for example, find themselves in a library, in which case an investigation check might discover the required information. If they fail that, perhaps it means that the library doesn't have the required book?
Taking it Further
If you want to take this further, you could do something like this:
Player: I want to pick that lock.
DM: Roll a dexterity check.
DM: You inspect the lock closely. It's a well-made dwarven tumbler design, and you realise immediately that such a lock is quite beyond your ability.
As you can see, the result of failure is not that the character tries and fails, it is that the character realises that they cannot succeed. This is particularly useful for potentially dangerous tasks. Characters should know roughly what their ability is. Looking up at a cliff, they might realise that this particular cliff is just too difficult, and attempting it is courting injury.
In essence, this system is broadly the same as the 'standard' method of doing things, with one key difference - the failure state. It merely changes the failure state from: 'you attempt the task and fail', to either 'you attempt the task, and fail, it is clearly too difficult for you', or (in the case of 'taking it further'), 'you realise that the task is too difficult for you'.