What is the difference between 完成 and 完毕?
完成 mainly mean 'accomplish' ('成' in '完成' means successfully or become) ; 完成 is mostly for 'something people do'
完毕 mainly mean 'end' ('毕' in '完毕' means 'end'); 完毕 is mostly for 'something that happens'
完毕 syn 完結 (ended)

完成 (v) to complete; to accomplish; to fulfill; to finish; to succeed
完成 can be used with or without object
E.g. 已经完成工作 and 工作已经完成 are both correct

~

完毕 (v) to end; to finish; to complete
完毕 doesn't take object
E.g. 學期完毕; 工作完毕 (you can't say 完毕學期 or 完毕工作) (學期  and  工作 are both subject in the phrase )


When you want to say an event is 'ended', you have to use 完毕

When you want to say a task is 'accomplished', you have to use 完成

Do not use 完成 for 'an event is ended' (學期完成 is incorrect, )