Everyone has good answers here, but I'd like to point out that a demonstration always seems to be something organized, while a protest seems to be done without much planning. In both cases, people will gather together to chant, wave signs, and stand together, but demonstrations seem to have much more thought go in to them, such as organizing a date and time to be at a certain place, people speaking to a crowd with prepared things to say, etc. Protests may loosely have some things planned, but they seem a bit more chaotic because there isn't much direction or specific people leading what they're doing.
All in all, they are similar in a sense of gathering ordinary citizens together in a group to bring awareness to a situation. With my description and the added thoughts from others, we have absolutely seen both demonstrations and protests lately. Organized groups and impromptu protests. Some very peaceful, and some erupting into aggression. Both have the same intent to bring awareness to a situation that they want changed.