Avoid people talking in a vacuum! It must be perfectly clear where your characters are and what they are doing while they are talking.
Just as in real life conversations, allow your characters to misunderstand, talk across purposes, change topics of conversation, get angry, interrupt each other, hesitate, answer questions with questions.
Remember that many conversations are meant to hide instead of highlight and explain the reality. Thus good dialogue hides in silence and lies instead of revealing the truth.
And finally, give the reader a chance to breathe and keep his interest alive by removing obvious answers.