Compete, contend, contest are comparable especially in their intransitive senses when they mean to strive to gain the mastery or upper hand.
Compete (see also RIVAL) implies a struggle to overcome or get the better of in an activity requiring two or more participants and involving rivalry (as an athletic match or a debate); the term may sometimes connote an additional incentive or inducement (as a prize or reward).
Contend, which may suggest a straining or stretching (see CONTEND), usually implies opposition that has equal or better chances of succeeding and therefore a vigorous endeavor to win or to attain or to down or to frustrate; the term usually connotes competition, but it stresses the need of fighting or struggling.
Contest usually implies a competing but, since the word may be qualified with respect to the way in which the rivalry manifests itself, it often suggests a contending. The term may be used in reference to a debate, dispute, or controversy, a race or an athletic competition, or a physical fight or struggle but it invariably involves the idea of proving one’s mastery or superiority.