Complete means to make something reach a state of fullness that none of its parts are missing。
Complete can convey some sense of achievement. It has the extra finishing perfectly meaning. It means you might see completed in more formal contexts.
Finish means to make something reach its end or to end something。 It doesn't care it's good, and just tell its status。
Sum it up, "finish" has far more definitions and uses than "complete". Anywhere "complete" is used, we can also use "finish" (less formal sometimes), but not the vice versa. When we complete something, it comes to an end (it finishes). But, when we finish something, it does not necessarily complete.
In addition, you cannot "complete" something that does not "support being complete". for instance, we can say "finish" one day, but cannot say "complete" one day.
Homework is not really a major achievement, so "finished" more often in casual conversation。 Two examples:
“Did you finish your homework?”
"He finished his homework." (it means he simply ended it, did enough to consider it finished, but no one knows it meets standard)
"He completed his homework." (it means he ended it correctly, totally, successfully)
But such as a paper on education, or a course syllabus is a major achievement, so "complete" more often in this way:
"Students must complete six homework assignments during the semester."