Combo of all kinds of things... Operating system, motherboard, processor, amount of ram, type and speed of HDD. There's a lot to consider. I personally at one point had boot times out of hibernation down to about 9 seconds including POST. That was with a P4 2.4, 256mb RAM, and a 7,200 rpm hdd. Now it's a bit slower because of the drop to a 2.0 and upping the 512mb RAM.
Actual boot time now is around 35 seconds and coming out of hibernation is around 16 to 20. These times all include POST.