In the colloquial sense, cognates are any words in different languages that sound similar and have similar meanings. This may be due to languages borrowing from each other (e.g., English 'ignite' from Latin 'ignis'), acquiring by inheritance from a common parent (English 'man' and German 'Mann'), or by complete coincidence (English 'dog' and Mbabaram 'dog').
Technically (in linguistics) cognates (or 'true' cognates) are only words that spring from common ancestors. They have no obligation to sound alike or have similar meanings. For example, the proto-Indo-European stem *ka:-ro- developed into Latin 'ca:rus' meaning 'dear' (from which we get words like 'charity' and 'cherish'). In English the same word *ka:-ro- developed into the word 'whore'. *ka:-mo-, a different form of *ka:- than *ka:-ro-, went through Sanskrit, ultimately leading to the Kama Sutra.