The difference is in the person who draws the conclusion: > Der Text war ihm zu schwer In this case the judgement is drawn by the person themselves. They state that it is too difficult and we just report their statement about the task. > Der Text war für ihn zu schwer Here it is me (or the narrator) who thinks that it was too difficult for the person we talk about. It does not imply self-reflection of the person being talked about or that they would agree.