I am using a Core 2 Duo E6600 (2.4 GHZ x 2), one of the best processor (review) in market today, with 2GHZ of DDR 2 667 RAM (read about my dream computer setup), and yet Firefox manages to hog 97% of the CPU in no time at all. I admit that I open too many windows but its is still extreme, don't you think? So I set upon to find a solution to the CPU hogging problem and you will be surprised to know that it is really very simple.

First of all I made Flash optional by using the FlashBlock extension. It is a nice little extension which simply displays a play button instead of Flash ads. If you wish, you can play the Flash content by clicking on the play button. In the past I have faced Firefox slowdown issues in Windows which were related to too many Flash content being displayed. However it didn't help this time.

I then disabled Java. In Preferences->Content menu uncheck Enable Java checkbox. That's it.
I restarted Firefox. I still have same number of windows (30+) as before and with same content and yet Firefox CPU usage became negligible! I have solved the problem.

To summarize the steps to reclaim your CPU from Firefox:
1. Install FlashBlock plugin
2. Disable Java

Update: I found that even with low CPU utilization Firefox was still hanging. The solution was to disable SearchStatus extension.