My CGminer reads that I'm doing 620k/h but on the pool website my hashrate fluctuates between 200k/h and 600k/h every minute or so. Which of the two is the correct reading?
pool numbers aren't that accurate. They only measure your hash speed by measuring the rate at which you're turning in computing shares.
If you happened to mine two shares in a shorter than average amount of time, then the hash rate on the site would appear higher than it really is. Vice versa for if you happened to mine two shares in a longer amount of time.
Over a long period of time, this averages out to the hash rate cgminer says.
Agreed, I had the similar problem, as long as cgminer is close to your hardware capability, i wouldn't worry, in the long term, they should be close to the same +/- 10%. For Example cgminer says 27GH/s, where as the pool states 25GH/s,26GH/s on average.