Here are a few things to check.
1) Verify/repair hard drive
2) Verify that you don't have too many applications open. How much RAM is installed? At least 4GB?
3) Does the issue go away if you create a new user account?
4) Use Activity Monitor utility to evaluate CPU usage and to identify CPU hungry apps/utilities that might be causing performance hit.
5) Did issue suddenly start occurring? Did you recently install any apps or utilities?
First check the status of your hard driveby launching the Disk Utility application that is located in the Applications/Utilities folder. Click on the Verify Disk option and observe whether it reports any major errors. You can also boot from the Install DVD that came with your system by holding down the 'c' key and then pulling down the Utilities menu bar item to select Disk Utility. Either way will work. If the disk checks out OK then click on theRepair Permissions option.
To get a more detailed picture of the SMART status (hard drive error logging) you can use an application like SMART Utility which can be downloaded here. Obviously downloading a new application could be a problem if you're system is 'hanging' whenever you try to write something, so this may not be an option.
If you find any significant errors, make sure you back up your data if you haven't already done so. If there aren't any significant errors then go into the System Preferences and click on Users & Groups. Try creating a new user account and then log into it to see if you have the same issues. Creating a new user for test purposes will help confirm whether you are dealing with some sort of software issue.
If a new user account resolves the issue then log back into the slow user account and open the Activity Monitor application located in the Applications/Utiliteis folders, then click on the CPU button. In the lower left corner you should see a summary listing the % User, % System, % Idle. What are these percentages? If the CPU idle percentage is near zero then you have a process running that is consuming your CPU time. To try and find it, pull down the menu to select 'All Processes', then click on the %CPU column to sort by the percent that each process is consuming your CPU. The numbers constantly change, but do your best to see if there are one or two processes consuming the majority of the CPU time and post the names. Then do the same test in the new user account. I suspect you may have some process from a previously installed utility, virus checker, etc. that is keeping your system busy. I've included a screenshot from my system below. It doesn't have much going on, and as you can see in the lower left corner the CPU is basically idle most of the time. If I were to launch a CPU intensive app the numbers would change dramatically.
Please share your findings so we can provide additional suggestions as we get more information from you.