In the context of machine learning, does anyone know what is the difference betweeen the above?
A good reference is "On Discriminative vs. Generative classifiers: A comparison of logistic regression and naive Bayes" by Andrew Ng and Michael Jordan. The basic gist is if y is your output and x is your input, then a discriminative classifier will model P(y|x) (so the probability of y given x) while a generative classifier will model P(y,x).
There are several consequences of this difference, and the paper by Ng and Jordan discusses many of them. One is that asymptotically (i.e. for very large sample sizes) discriminative classifiers will perform better, but for smaller samples generative classifiers can perform better. Another difference is you can generate a synthetic dataset from a trained generative classifier if you can sample from the probability distribution, but for a discriminative classifier you can only sample outputs y for a given x.