As per this reference: http://www.elearnenglishlanguage.com/difficulties/despiteinspiteof.html
"Despite" means "even though,"
"notwithstanding," or "regardless of."
It's the opposite of "because of/due
to," and can be used with a noun or
gerund.
- She had difficulty communicating in French despite all her years of study.
- We lost the game, despite the fact that we practiced all week.
- Despite not having an umbrella, I walked home in the rain.
"In spite of" means exactly the same
thing and is used exactly the same way
as "despite."
- She had difficulty communicating in French in spite of all her years of
study.
- We lost the game, in spite of the fact that we practiced all week.
- In spite of not having an umbrella, I walked home in the rain.
So, they can safely be used interchangeably. You may notice that in all the above examples, "despite" has not been used with "of" but it can definitely be used in certain contexts such as this:
- A large number of ladies, both from this City and abroad, who had come
out, despite of the driving
rain-storm, were in attendance, and
occupied seats in the galleries.
The only difference between in spite of and despite is the ‘of’.
You don't use "Despite of the reason". You use "Despite the reason"
Despite the pain in his leg he completed the marathon.
It seems to me "in spite of" is a slightly more elaborate form, to be used in more fancy, most formal writing. "Despite" is not informal but not quite that elaborate.
edit: as mcalex mentions, "Despite of" (and even "In despite of") is not incorrect, it's just an almost dead archaic form.