what is the difference between Naive Bayes and NON-Naive Bayes? In  Naive Bayes 
Why is it necessary for Naive to assumes that the input features are independent and not co-related . 
can anyone explain with a very simple example on what is the problem of events being dependent in  Bayes therom ( NON-Naive Bayes in this case ) , why is that its become a global rule to applying Naive and make the events being independent ? 
please explain with a simple example in layman term the difference between Naive Bayes and Non-naive Bayes.
if we have a sentence "You won lottery for 1million" and we need to classify it as spam and not spam .
in the likelihood part we will model the probability as p(x|y)
here x="You won lottery for 1million" and y=spam or not spam
p('You won lottery for 1million'|y=spam)

p('You won lottery for 1million'|y=notspam)

why is it so hard to calculate above probability that we need naive to pitch in and make the features independent to calculate the probability ,
when using independence if any one of the probablity of event is 0 then it make the who probability zero right ?
p(you|y=spam)* p(won |y=spam)*p(lottery|y=spam)*p(for|y=spam)*p(1million|y=spam)

p(you|y=notspam)* p(won |y=notspam)*p(lottery|y=notspam)*p(for|y=notspam)*p(1million|y=notspam)

Edited the question where i gave a example myself .
 A: As you note, Naive Bayes assumes the input features (predictors) are not correlated.
This is a "naive" assumption, because input features commonly are correlated, just as regression predictors can be correlated (the problem of multicollinearity). But in some situations Naive Bayes models can work reasonably well and are much simpler to calculate.
A: Because Naive Bayes assumes your features are not correlated, you don't need to provide an explicit a priori causal model - or rather, you already have, just implicitly.
A Naive Bayes algorithm for predicting cancer would assume 
$p(Cancer|Smoking,Tar) = p(Cancer|Smoking)p(Smoking) + p(Cancer|Tar)p(Tar)$
A Hierarchical Bayesian model could specify a model - Tar->Smoking->Cancer, for example, and use it to construct an equation $p(Cancer|Smoking,Tar) = p(Cancer|Smoking)p(Smoking|Tar)p(Tar)$.
Note that this model is A) simple - you only have 3 nodes, and the number of possible vertices grows rapidly, and B) deliberately wrong - it gets the cause and effect between smoking and lung damage backwards.
Depending on the interactions in the real world, getting the dependencies wrong may be a far worse problem than just assuming none exist, and even if you do get it right, a hierarchical model is both less straightforward and more computationally intensive to fit.
If you have a nice, fairly clean set of independent features Naive Bayes gets around all that, but on the flipside a good Hierarchical Bayes model is really powerful.
