I like Ahrefs, semrush, and kwfinder.
Kwfinder is just a pleasure to use, I really like the related kw's that it suggests. It's also very cheap compared to the rest.
Semrush is my favorite for looking at my competitors. The magic tool is pretty good at finding new kw's. I also love how you can filter KW's of a certain website based by position, so if you have thousands of kw's, you could filter it between position 10-30, there may be some KW's that you were not aware of in the past, and then you can optimize for it and get instant results.
Ahrefs for manually checking the competition's links, the KW difficulty metric for ahrefs can beshit because it only measures how many links each page has. So a page full of amazon etc is going to have a difficulty of 0 if they have 0 incoming links to that page.
It's more accurate if there are no authority sites on the serp