By all means, emptying the trash does free said used space, however.... here's how trash works, in a nutshell:
The data on your HD is comprised of 0's and 1's. Nothing more. When a sector of a HD is filled with these digits, other data may be moved in order that the newer data is seen first and gotten to more quickly.
When any data is "deleted" from said HD, in a normal fashion, such as emptying the trash, this data actually still exists but the HD will read it as though it's free space. Reason being, is that until that "deleted" data is written over by newer data, it actually hasn't been broken down. It doesn't just magically vaporize from the disk.
However again, there is a method which you can use within OS X which will actually break those 0's and 1's down so that they're not legible to the OS anymore. This method of deleting is called "secure deleting". You can turn this option on from within Finder preferences. Be warned however, that this method will at times slow your system down to a stand still.
It is not only writing over the data with 0's, but it is scrutinizing everything about that data. So while you might only see one single file that you're deleting, this method will now tell you that the single file is comprised of a thousand other tiny bits of data (which it will show you as files) that it is now writing over.
I personally don't recommend this method unless you're very anal or paranoid about what needs to be deleted and gone for good. You can even go to further extremes and download a dashboard widget which will go over your data 30 times, which is like... ridiculous, but it's also going to make sure that even the government can't recover anything from your HD.
Doug