In bunpro, it says that one of the meanings of ~てしまう is to finish completely and that verb + 終わる means to finish/to end. What is the difference between these two since it seems like the same thing? Or is one more common than the other?
Examples sentences from a dictionary of basic Japanese grammar:
昨日その本を読み終わった/読んでしまった。
今朝九時にやっとレポートを書き終わった/書いてしまった。
If they are interchangeable,
could てしまう be used in this sentence: 荷物は全部届け終わりました
And 終わる in this sentence: 友達は私のケーキを食べてしまった。