I think dialogue is something you can't learn from reading a book or even writing practice.
The only way to have the ability, as VPTurner said, is to have an ear for it.
This comes from your life.
If someone writes dialogue on the nose, they not only don't have an ear for the words, but they aren't even thinking logically as a writer.
If someone doesn't write on the nose, but the words come off like, I don't know, maybe they are trying too hard?...that's an easier problem to deal with IMO. You can improve on that.
I would compare writing dialogue to what many say about storytelling. If you've ever heard "give the audience what it expects but in an unexpected way"...well w/ dialogue, you want characters who talk like everyone else but they don't talk like everyone else....easy huh?
Just put yourself in your character's mind. What would they say? Your character shouldn't be a character on the page...to you they should be like a living person. If you can close your eyes and think of a person you know and picture the way they speak, what they would say, mannerisms, etc...you should be able to do all of that automatically with any one of your characters.
Don't try for something that sounds clever. Every single line of dialogue should have a point in terms of telling the story. Characters don't just say things because. I think you can write non-catchy dialogue and as long as you get the point across and it fits the story and the character, that is a good start.
Now, to make it catchy, don't try for something catchy. Try for something different. It might not work, but it might. Anyways, the dialogue should fit the character...so memorable dialogue really starts with creating a memorable character IMO.
Now after all of that there are more advanced things to worry about. Make sure to use impact words at the end of sentences because that's the last thing people here...something to do with memory and as the dialogue flows it works better if the words with more meaning come at the beginning and end. The stuff in the middle gets lost. I don't remember where I heard it, but lots of good dialogue gets wasted by pointless phrases at the end of sentences.
Also you can use sound to your advantage in dialogue. Use repeated consanants and/or vowels if the sound adds effect to the meaning of the dialogue or the action the character is doing while speaking.
There is also that whole "larger than life" thing with characters. They should talk like ordinary people, but seem larger than life. They aren't real people, they are ideals, etc.
Anyways, these are some of the things I try to think about when I'm writing.