1. cansado, agotado, exhausto;
These are all "tired" to various degrees. I'd say cansado < agotado < exhausto, but agotado and exhausto are almost the same level. "agotado" can also mean "out of stock", like in a shop.
2. predecir, adivinar; (they could both mean "to foresee")
Predecir is foresee: strictly into the future, something that hasn't happened yet.
Adivinar can be into the future, but can also be into the past, or riddles (guess what I'm thinking = "adivina lo que estoy pensando"). Predecir can't be used for guessing riddles or past events.
3. tratar de, intentar; (they could both mean "to try")
I'd say these are the same. Tratar is a bit more formal.
4. candidato, aspirante.
I'd say these are very similar, but commonly used in different contexts. Candidato would be better used for job selection ("los candidatos deben presentar su CV antes del lunes"), whereas Aspirante is more suited to people being considered for prizes, awards ("aspirante al premio", comes from verb "aspirar a"). But there's a very fuzzy line there, and sometimes you hear "candidatos al premio Nobel", so it's not a clear-cut difference.