Like most things in SEO, it depends. What are your business goals (lead generation, ecommerce, thought leadership, etc.)? What is the status of your current optimization efforts - i.e. has any on-page optimization, site architecture, link building, content, etc. been done? If so, how much? What is your competition doing and how does your site stack up against them?
Different sites have different goals and are at different points in the optimization process. Prioritizing your SEO efforts is going to depend heavily on where you sit currently and where you want to go.
I would advise a full site audit first to figure out what is working well and what isn't.
Actually, I take that back. First, define your goals - what do you want to accomplish with your site. Then do the audit.
Next, discover which keywords are driving traffic to your site and which ones convert the best. Then start putting together groups of keywords that are variations of your top performers and start looking for new keyword groups to target.
If you're getting a lot of traffic from what seem like good keywords but not converting, then start optimizing your site for conversions.
This is all pretty high level, but if there's one thing I've learned about SEO it's that there are no absolute answers, only problems that need solving, and there are always many ways to skin that cat.
Going through the process of identifying problems and opportunities, developing a strategy to act, and then analyzing success is a constant effort.
Deciding which problem/opportunity to attack first can only be accomplished by having a clear goal in mind.