Because your efficiency is low. The pool reports back what it thinks your hash rate is based on the number of accepted shares you return.
Efficiency is just accepted share divided by requested work. A low efficiency just means that cgminer is calling more getworks than necessary. The hashrate should represent how many accepted share I generate.
So the question still stands: why is cgminer reporting a higher hashrate? How is it calculating the hashrate if not using the accepted shares?
Another question is what does the intensity actually mean? I'm running on a headless dedicated miner. Why not set it to 14? And why not 9 instead of 8?
Thanks!
Efficiency 14 can take up to 15 seconds to return data from the GPU. That's a long time to not have reported back any shares. So it usually is less efficient to give such a big chunk of work to the GPU at any one time without reporting in more frequently, even though in theory it would be nice to keep the GPU as busy as possible. It's the law of diminishing returns where there doesn't seem to be any benefit beyond 8 or 9, and it starts introducing more problems.
The hashrate reported by cgminer is just how many hashes it's doing. Nothing more, nothing less. The pool is reporting an estimated hash rate based on returns. If your returns are relatively low (for whatever reason) then the pool will think you're hashing less. Now as for why you're having a bad return, I'm not really sure, but the high intensity is only doing you harm. Are you putting in a big queue? Are you running lots of threads?