Alright guys, I guess I have partially figured out why the overall website traffic is not equal to the Adsense impression.
For instance, let's assume that you, the webmaster, have websites generating around 10,000 pageviews every day -- and Adsense counts 8000 impression. This means you just lost the revenue for those 2000 impression. So where the heck did those 2000 impression disappear? That, as you know, is filled by PSA (Public Service Ad), Google Adword ad and so on. The sad truth is, simply put: You will not earn a dime when these ads are displayed on your website.
So what did I do?
I went to Google, typed in my website name along with the "Stop-word." And bam! The result were astonishing -- Commentators imprudently used profane words in the comment section of my blog. That was it! These slang comments were the culprit, and they are the reasons why my Adsense impression were diluted. And the earnings were plummeted.
As you know, Adsense dislikes Stop-words -- also included in the list of Stop-words are the keyword relating to drugs, death and medical. Replace those Stop-words with asterisk, or simply blank them out. Now you know why your website pageviews doesn't match with the Adsense impression.
Edit: I got rid of these slang comments with the help of "Content filter" plugin (only for Wordpress). Feel free to add your thoughts and boot out the Stop-words from your website. Right now! :)