The use of "would have thought" instead of just "thought" in this context adds a hypothetical or speculative element to the statement. When someone says, "I would have thought he was fifty years old," they are expressing a hypothetical assumption or expectation that, based on the person's appearance, they might have naturally assumed the age to be fifty.
Using "would have thought" emphasizes that the speaker's perception was different from the reality, creating a sense of surprise or contrast. It's a way of conveying that the speaker's initial assumption, based on appearances, turned out to be incorrect. The use of the conditional "would have" suggests that the speaker is reflecting on what they might have expected under different circumstances or appearances.