When can we use them? Are they the same or different? Are they used in different situations?
girl can be used in almost any situation, and just refers to a female of any age, however, it's more common to use the term for females under 30.
lady can be used in almost any situation, and is more respectful in my opinion. There is a common term called "lady like" , which implies that ladies act like females should. They are caring, pleasant, have good manners, etc.
woman is a tricky one, since it can be used in situations to show disrespect, such as a man claiming he is superior than a woman. Woman is fine though when describing a female above the age of 18, as long as it's not in a chauvinistic or demeaning way. And woman is likely preferred by most females that are above the age of 18. However, it's probably more common for women above 25 to be called woman, and under 25 to be called girl.