All of them can mean difference. Are all of them interchangeable when used to mean 'difference?'
- Anybody can ask a question
- Anybody can answer
- The best answers are voted up and rise to the top
When they function as nouns to mean difference in the general sense, they are mostly interchangeable.
差别 seems to emphasize the difference itself, while 分别/区别 tend to indicate a desire to tell two different things apart (therefore the word "difference" in the title of your question should be translated into 区别). The above example sentence may have slightly different nuances depending on interpretation:
BTW, although not in noun form, 差别对待/分别对待/区别对待 makes for an interesting comparison:
差别 means literally difference (usually as a noun)
分别 and 区别 are interchangeable, meaning to sort out to get the difference (usually as a verb)