, They all can mean women who sleep with men for money. Prostitute is the most technical term. Hooker seems most commonly used in the United States, while in Britain this term is reserved for a position in rugby. Whore sounds much more violent to me. If one were seeking a woman to pay to sleep with him, he probably wouldn't say "I'm looking for a whore tonight," but use hooker or prostitute.
Calling someone a whore can be used to insult them, implying they sleep with many people (though for men the term would be man-whore). E.g., "She is such a whore." Going back to a previous example, "I'm looking for a whore tonight" implies more to me that he is looking for someone who is easy to sleep with, not for a prostitute.