I'm pretty sure I've set my bios up so that my i5 4670k should be running at 4.2ghz. But when I test my system on system requirements lab or cpu speed checker, it still registers at the the stock 3.4 ghz. So my question is does the cpu only run at 4.2 ghz when it needs to, or should it always register as a 4.2ghz cpu?
It should, although what it defines as "heavy load" can vary. Sometimes it may use it when it doesn't need to although it will usually use it when it actually does need that extra boost. If you want to be really meticulous then download CPU-z and then run things to make it boost the clock and see how it reacts.