fsck_hfs, is the FileSystemChecK utility for HFS+ formatted volumes.
Normally the HFS+ file system Journal is used to clean up any file system metadata inconsistancies after a crash, forced power failure (or forced power off), disk drive cable yanked out, etc...
However, if the Journal recovery is not satisfactory (or the journal has been disabled), then Mac OS X will run fsck_hfs against the file system, and it will walk every directory tree and look at the metadata for every file in the system (there are millions of them generally), and this takes time. A lot of time.
Generally speaking if fsck_hfs is running, there is a possibility there is something seriously wrong with the file system. This may be caused by failing hardware (which could be any hardware, including failing RAM, failing PCI bus controller, SATA controller, or the disk itself), or it could be bad software (such as a 3rd party kernel extension that has corrupted something in a file system buffer before it was written to disk).
You should let fsck_hfs complete (again it may take hours, which is why Journaled file systems were invented, to avoid the fsck run time).