Although the constructions acabar por+infinitivo and acabar+gerundio are interchangeable in a number of contexts, there is an important difference: por+infinitivo tends to tell us the final action in a series of events, indicating a change; the gerund, meanwhile, may simply tell us the state of something at the end of some process/event, where acabar has a implicit direct object (uso no perifrástico).
-Él siempre acaba (la discusión) llorando/hecho polvo [Su estado al final de la discusión: ≈está llorando/hecho polvo; no perífrastico]
→Él acabó por llorar?? [Este ejemplo suena forzado; al final lloró??]
-Acabó (el partido) sangrando/hecho polvo [Su estado al final del partido: ≈estaba sangrando/hecho polvo]
→Acabó por sangrar?? [Este ejemplo suena forzado; al final sangró??]
-Acabó por aceptar/aceptando la oferta [Con un predicado télico, sugiere una acción puntual al final de un proceso, y no un estado, de forma que vienen a significar lo mismo: ≈al final aceptó; da a entender que no quería aceptar al principio]
-Acabó siendo/por ser decisivo [≈Al final fue decisivo; ≈al final se hizo decisivo; un cambio]
-Me gustó al principio, pero acabó cansándome / acabó por cansarme [Uso perifrástico: ≈al final me cansó]
→Me gustó al principio, pero me acabó cansando [Permite la anteposición del clítico 'me']
-Empezó el discurso alabándome, pero (lo) acabó criticándome [Uso no perifrástico; ≈acabó el discurso de esta forma; no puede anteponerse el clítico 'me' –véase ascenso del clítico]