I agree with Celibeth that these are all synonyms.  Now, the words "bella" and "hermosa" describe a woman that is very very very pretty.  It would be like beautiful in English.
In regards to the word "guapa", it is definitely another synonym to express how pretty (or handsome) a person is.  However, in Cuba for example, it could have another connotation.  A person that is "guapa" is someone who is always ready to fight and is not afraid of any confrontation.  Again, it depends on the context.
Here's an example:
(only in Cuba)
Ese muchacho es guapo, no le tiene miedo a nada.  
- That guy is brave, he is not afraid of anything.
Still, Cubans know that "guapo" also means handsome, depending on the context.
I hope this explanation  helps.