What's the difference between 谈 and 讲, and when do I use them? Or are they interchangeably used? They both seem to mean "talk".
谈 - to talk, to converse, to chat.
讲 - speech, to speak, to tell, to explain.
"谈" is a talk/conversation that happened between two or a group of people to exchange ideas/messages on a specific, or random, topic; "讲" is a talk that is delivered by a person to pass on ideas or messages, usually on a specific/select topic, to the listeners, similar to "teach", "impart".
In general, the two words are not interchangeable, but, occasionally they both can be replaced by "說" - 我和他說(谈/讲)過了.
讲 - 是对某一个人或者一群人单方面的说话。
谈 - 双方2个人或者多人讨论。
So basically 讲 can be for talking to one person or a group of people, but 谈 is for 2 or more people discussing.