Some writers are great at descriptions. Some writers are great at character development. Some writers are great at dialogue. In screenwriting in particular it's all about the dialogue (yes, action counts, too); but did you know that some screenwriters' concepts and story are so good, the producers will buy it and then hire a dialogue doctor to fix the dialogue? Yes, there is a whole profession devoted to the art of "conversation". When I read novels, the number one mistake I see or weakness is lack of differentiation with the dialogue and the voice. All the characters talk the same. They say the same things in the same way. Worse yet, they say things that no one would say aloud. Here are some great tips on writing fabulous dialogue that resonates as authentic and believable with the reader.
Demographics -- yes, background and demographics counts here. Where is your character(s) from? Do they have a dialect or accent? Always "infer" the accent. Do not misspell words to convey the accent phonetically. Write it how it sounds not how it's misspelled. Research dialects, too. Canadian have a distinct accent just as much as Texans and so forth.
Monotony -- all of your characters' voices sound like the same person. You do not know who is speaking, because they all sound like the same person. Simple and easy techniques will help you to differentiate how characters talk and who would say what. For example, a good girl who is self-conscious about what she says would not cuss and use profanity. Or maybe she would but only under extreme duress. I love it how in True Blood, Sookie will try and avoid profanity and even in one episodes says, "fudge". It's been forever since I heard the use of the word fudge. I think my grandmother used to say that one. What does that say about Sookie's avoidance of using the F word or even the old-fashioned use of the word fudge at all. No other character on True Blood would use that word. What about an educated and intelligent character, how would he or she talk? An educated character might have a big vocabulary and use it. You can dumb down characters by having them say absurd or stupid things. In my script Beauty School not only does Bo say stupid things, he does dumb things, too. We don't have to say directly to the audience he is low IQ, because he says and acts less intelligent than the rest.
On the Nose -- I see on-the-nose dialogue ALL of the time. The writer just hits the audience over the head with what he or she wants to tell the audience. People don't always talk right on the nose or right on topic like a term paper. Some characters have trouble expressing their feelings. Some characters don't know how to express it at all. On-the-nose dialogue is a lazy way to convey a scene. You want to create some question or mystery about what a character is really thinking or feeling. Unless a character is truly direct in everything he or she says and does, avoid on-the-nose writing or dialogue.
Exposition in the Dialogue -- the story is not being told through dialogue unless you're using a narrator. The worst mistake I see new writers make is to put the story exposition in the dialogue. First, it makes the dialogue read like a lecture. Second, it makes the writing and dialogue clunky and awkward. Third, it's just lazy or bad storytelling. Don't put the story in the dialogue.
Colloquial and Use of Idioms -- most of us talk and use slang on a daily basis. When we're having an informal conversation, we talk informally. Unless your character is a professor of English literature, please avoid making him or her sound formal. I am an educated woman but I still use pedestrian language in my conversations. I use slang constantly. Most people do. So keep it real. Make your characters talk in a down-to-earth way unless they are simply not down-to-earth people.