- 말하다 = talk/speak about something or with someone. Most general verb in this sense.
- 얘기하다 = talk about something or tell a story. Often implies more involved talk going on for a longer.
- 대화하다 = converse with someone. This word won't make sense without the interlocutor.
- 소통하다 = communicate with a person or group. 통 means "to get through", so it emphasizes reaching some level of understanding.
e.g.
* 제가 말하려는 건 이번 행사에 대한 것입니다.
* 새 직장의 동료와 처음으로 긴 이야기를 했다.
* 새 경영진은 종업원들과 대화하는 것을 중시한다.
* 정치인으로 성공하려면 지역주민과 소통해야만 한다.