What is the Difference between "bonita," "linda," and "hermosa"?
While all three of these word are very nice things to say to someone, they're not exactly the same. Bonita is closer to beautiful, lindo to cute or nice, and hermosa to gorgeous. All three can be said about people, pets, or things, but hermosa in particular can carry a note of seduction or sexuality, depending on the situation.
Bonita, linda and hermosa can only be used to talk about female people or things. To talk about male people or things, you should use bonito, lindo or hermoso. When used to describe males, the translations may change a bit.