Dahl (1985, 138; 2000, 9-10) describes to a hierarchy of usage for perfects across languages. The hierarchy lays out how a perfect is used in terms of its progress along the path of grammaticalization to being a simple past perfective form.
An indefinite* time-point in the past
< A time-point located by an overtly marked temporal adverbial
< A definite point in time presupposed in the context
< A definite point in time defined by a narrative context
The hierarchy tells us two things about language usage. Synchronically, the more one move up one goes up this hierarchy, the less likely it is for that event to be referred to by a perfect and the more like it is to be referred to by a past perfective. But diachronically, the higher up the hierarchy a given language’s perfect maybe used for an event, the farther along it is in its grammaticalization toward simply becoming a past perfective form.
The Ancient Greek perfective worked its way up the scale, but inconsistently. Long term, that inconsistency resulted in a usage split for the grammatical form. Then other grammatical forms divided and conquered. The aorist/perfective came in from one side and took over some usages. And the middle voice came in from the other side and took over the rest. In the end the perfect just disappeared.
The history likely looked something like this:
*Some languages with perfects have grammaticalized this distinction more than others. Dahl (2000) defines this hierarchy in terms of the definiteness of temporal reference. However, it can just as easily be defined in terms of aspectuality, in that degrees of definiteness go hand-in-hand with telicity.