It could be a number of things, for example your hard disk may have errors on it, causing problems.
Next time you start up the PC press the F8 key over and over again BEFORE Windows loads.
This should take you into the Advanced Startup Options and you may be able to get help there.
One of the options is "Repair my Computer so try that (though it may be that Windows has already tried this).
More here
http://windows.microsoft.com/en-gb/windows-vista/advanced-startup-options-including-safe-mode
If you do get back into Windows then try to run CHECK DISK (chkdsk) which will test your hard disk for errors (next time you boot up). If this starts then let it run to completion as it may take a while.
This is how to do it in Vista, it may vary in XP or W7.
http://windows.microsoft.com/en-gb/windows-vista/check-your-hard-disk-for-errors
IF your hard disk is failing then as matter of urgency backup all your personal files by copying them to an external hard drive or to CDs or DVDs.
If you don't do this, and your disk fails, you could lose everything.
In situations like this it is useful for us to know your release of Windows as things work differently in different versions of Windows.