I've occasionally seen the trash not be emptied. The first thing you'll want to is repair disk permissions. If the Trash folder permissions are broken, you won't be able to empty it. Repairing the permissions will fix that issue.
Another troubleshooting step you can take is emptying the trash as root:
sudo rm -rf ~/.Trash/*
Finally, you can force the OS to create a new trash folder by booting into single user mode and deleting the trash folder which will be ~/.Trash.