One example I will give you to understand the diff. between generative and discriminative algorithms model.
Imagine our task is to classify a speech to a language.
We can do it by either:
learning each language, and then classifying it using the knowledge you just gained
or
determining the difference in the linguistic models without learning the languages, and then classifying the speech.
The first one is the generative approach and the second one is the discriminative approach.
So NB is a generative approach and DT is Discriminative approach.