According to Etymology 2 here походить is perfective. However, it also says it "is in the class of Russian abstract verbs". And here for abstract verbs in slavic grammar it says "always imperfective in aspect, even with prefixes that are normally associated with the perfective aspect". So as far as I understand this, it is a contradiction?
I think it's not a contradiction, but more like an exception to the rule, because the verb is indeed perfective because it answers the question "Что сделать?" instead of "Что делать?" (it can still become imperfective though, if used in a different meaning like "to resemble"), while it is also abstract because it describes an action that is not single and completed.
One website I found states that Abstract verbs are always imperfective and then immediately provides an example which disproves their statement:
(abstract in Russian but not in Polish) I went to the post office. (there and back, multidirectional)
Translated to Russian this sentence appears as - "Я сходил на почту". But the verb сходил is clearly perfective because it answers the question "Что сделал?", not "Что делал?". So it appears as an exception to the rule.
P.S - to be honest I think the rule that states that "all abstract verbs are always imperfective" might indeed be totally wrong as there are other cases of abstract yet perfective verbs, like the ones that were provided by Quassnoi.
This rule works for some prefixes, does not work for the others, and works both ways for still others.
Приходить, прилетать, привозить etc. are imperfective, just like the rule says.
Походить, полетать, повозить are perfective.
With prefixes like с-, на-, от- and some others, the verbs split their meanings.
Слетать means to "fly off" (imperfective): нитка часто слетает с катушки "the thread often flies off the bobbin"; and "fly there and back": мы слетали в отпуск в Рим "we flew to Rome for a vacation".
Налетать means to "fly into something" (imperfective): на высоких зданиях зажигают красные огни, чтобы на них не налетали самолёты "they place red lights on the tall structures so that airplanes would not crash into them"; and "fly enough for something" (perfective): я налетал сто тысяч миль и мне дали золотую карту "I have flown hundred thousand miles with them and they gave me gold membership"
It is interesting that some iterative verbs change their roots depending on the aspect, and some don't: сбега́ть/сбе́гать, съезжать/съездить, сплывать/сплавать etc.; and some don't even have a proper imperfective root, like таскать, катать.
There is no contradiction at all. As you already noticed, the word походить has different meanings. One of them is походить (perfective) что сделать? meaning movement.
Он встал, походил немного, потом снова сел.
But the other one is what you call abstract походить (imperfective) что делать? It means to resemble, like быть похожим.This is not an action verb, it means a state.
Повзрослев, он походил на отца. Having grown up he resembled his father.