Well, that is always a tough one. Early on, I purchased
SEO Elite. It was good for a few things and I still use it to check where I rank for certain keywords I target, but I would not pay for it today.
I use 0 tools besides that, actually. Your best tools are Google, Yahoo, and MSN search engine results. Check out a keyword, then find the top sites and look at what they are doing. Check out their
SEO (Meta structure, Title, Header tags, image ALTs, and bold). Also check out what sites are linking to them and how many.
Here are a couple of FREE tools that come with Firefox that I use daily:
1.
SEOQuake - This allows you to see the backlinks for the website that you are looking at as well as the amount of indexed pages and other important stuff.
2.
Firebug - This extension allows you to inspect the HTML on any website. It is nice because you can hover over any part of the website and it will point to the HTML code. It is nice to find out which tags are H1, H2... It is also nice to find out what pieces of your code are slowing down your webpage.
There are a lot more, and many people will swear by WebCEO, but I don't spend money on these tools anymore. I go to places like:
1.
SEOChat - There is invaluable
SEO information there
2.
Webmaster World - More invaluable information
Man, I hope all that helps

Lots of typing for me today!