What are the similarities and differences between direct method and communicative approach to language teaching?
Direct teaching is basically the more traditional method, where students hear the word or phrase and repeat it back. This is the way language used to be taught. The communicative approach is the idea that language is best learned through communicating, and students do their best to talk and listen in the language from the beginning.
There are many different methods of learning a language. The traditional method is very "scientific." You learn basic grammar and work your way up to more difficult concepts. For instance, if you are learning German, you would start with nouns and learn the differences between cases (genitive, dative, etc.). After you mastered these, you would move onto a few verbal tenses, which would be followed by participles, relative clauses and other more advanced concepts. It is a building block approach.
The newer method of learning languages (immersion or communicative approach) seeks to mimic how children learn language. For instance, children do not learn language through grammar, they learn by hearing, imitating, and practicing. Hence, the systematic grammatical approach takes a back seat. This, of course, does not mean that there is no learning of grammar, but that it is secondary. From this perspective, the classroom experience can look very different - a lot of dialogues, perhaps games, and generally anything that would facilitate communication.
Finally, the the communicative approach is favored currently, because it is much more fun and there is immediate payoff.