What are the differences between these 3 words?
There are four, actually. You forgot "ażeby".
The most "normal" and safest one to use is "żeby".
The others are more literary, and could sound odd in normal spoken language.
Sometimes "aby" is used to avoid using "żeby" twice in the same sentence. Otherwise, stick with "żeby" and you won't go wrong. It works for every purpose from super-relaxed to super-formal.