These two words seem to have the same translation in my native language (Cambodian). What is the major difference between these two adjectives?
One major difference is that despair is a noun or a verb and that hopeless is an adjective.
For instance, you could say
"The situation is hopeless".
By which you would mean that there is no hope that the situation could improve.
And for despair you could say:
"He died in despair"
Here "despair" is a noun. Or
"I shall despair of ever seeing my native country again".
Here instead it is a verb.
Comparing them for good
If you want to compare them as nouns, then you should compare "despair" to "hopelessness".
Although I'm not a native English speaker, I'd say that despair is stronger. "despair" is slightly more emotionally charged. You have a "feeling of hopelessness" but you "cry in despair".
As so often in English when you have two different words for a common thing one is from Saxon origin and the other is from Norman origin. And as usual rather than replacing one by the other, usage has given them complementary meanings. So your question is definitely a valid one: there are shades of meaning.
"Hope" is a word from Saxon origin (compare to German "Ich hoffe dass...", I hope that...). "hopeless" => "hoff[nungs]los"
"Despair" is from Old French "despoir" (nowadays in modern French "désespoir" (noun) or "désespérer" (verb)).
As an opening to other similar cases also consider the following list
- "Ask", English and "demand" (stronger), from French.
- "Bit" and "morsel" both coming from the idea of biting (mordre) but the former more general than the latter.
- "Wish" and "desire" (stronger).
- "Might" and "power".
- "Room" and "chamber".
- "Answer" and "respond".
- "Begin" and "commence".
Taken from the second episode of The Adventure of English.