JDiskReport is an excellent free Java tool which will scan your hard drive and provide a host of useful information about how its space is being used.
This all starts by pointing the program at the folder tree you'd like it to examine, and it then spends a moment analysing your files (and only a moment, really - it's quite speedy, considering what the program has to do).
Then you see the basic report, which shows you an Explorer-type view of your folders on the left, and a pie chart on the right revealing how much each one is taking up. So immediately we could see that, for instance, the Users folder was gobbling up the most hard drive space on our test system, at 69.1GB.
Why? Clicking any folder on the pie chart allows you to drill down, and in a click or two we found that the main culprit was a VirtualBox virtual machine setup, which required 30.1GB all on its own. You'll have your own space hogs, of course, but JDiskReport should still expose them in just a few seconds.
The program does offer alternative views on your files, though. Clicking "Top 50" reveals the 50 largest files in the tree you're examining, for instance. While selecting "Types" shows you which file types are consuming the most space.
And a range of useful configuration options allow you to do everything from excluding particular folders from the report, to defining precisely how you'd like the charts to look.
Please note, JDiskReport is a Java-based tool, so you'll need Java installed before it will work.