It's worth noting as well that all CPUs now have multiple cores (that is effectively 2-8 CPU cores within the one physical processor). Lots of software is not actually able to use more than 1 or 2 cores. Quad core CPUs are pretty common, yet their often given a workload that can stress only 1 or 2 cores, leaving the remaining cores idle with nothing to do. In that case the processor allows the cores that are being used to use the higher boost/turbo frequencies, generating more heat, yet remaining within thermal constraints as the remaining cores are idle. Those workloads may have 1 or 2 cores running at the higher 2.9Ghz.
When the CPU is given a workload that can stress all 4 cores (or however many cores you actually have), it'll quickly have to clock them lower, towards the 2.1Ghz, to keep temperatures/power at acceptable levels.