Hi, great question! "Fight" is a much stronger word than "struggle" and generally implies that two or more parties are fighting against each other. Struggle, however, is usually used to show that someone is making an attempt to get away from some type of restraint ("The dog struggled against his leash") or violence. (it is more one sided. One person is restraining or attacking, and the other is trying to get away). Often, when "struggle" is used, it can imply that the person being attacked/restrained did not succeed in escaping.
"Struggle" can also mean to have difficulty doing something, to make a strenuous effort to accomplish something. Examples: "My fingers were so cold that I struggled to tie my shoes." "I have been so depressed lately. It is a struggle just to get out of bed."