Merriam-Webster's Eleventh Collegiate Dictionary (2003) identifies the following distinctions between complete and finish:
CLOSE, END, CONCLUDE, FINISH, COMPLETE, TERMINATE mean to bring or come to a stopping point or limit. ... FINISH may stress completion of a final step in a process {after it is painted, the house will be finished}. COMPLETE implies the removal of all deficiencies or a successful finishing of what has been undertaken {the resolving of this lat issue completes the agreement}.
S.I. Hayakawa, Choose the Right Word (1968) offers this comparison:
Finish and complete men to bring to an anticipated end by doing all things that are necessary or appropriate to achieving that end. Although the two words may be used as exact synonyms, complete suggests the fulfillment of an assigned task and is therefore not always an appropriate substitute for finish. An author may complete or finish his novel; a reader might finish it, but one would not say that he completed it unless he were reading it as a school assignment.
Given how close in meaning the two words are, I think Hayakawa's argument that complete tends to be more narrowly associated with assigned tasks than finish is makes a good point. In my experience, people say, for example, "Are you going to finish [or finish eating] your dessert?"—not "Are you going to complete [or complete eating] your dessert?"