They both mean "to participate" or "to take part (in something)" but the only difference I could think of off the top of my head is that *only* 참가하다 can mean "to enter (a contest, event, conference, rally, etc.)" while 참여하다 does not have that meaning.