There are no tools you NEED where you have to go out and buy stuff but of course it can make your life easier.
I will give you a basic process to go from.
1. Analyze your company - what kind of people you want to bring to your site.
2. Use the Google adwords keyword tool to do research on relevant keywords. I use the exact match setting. Look for keywords that get a decent amount of traffic, not a huge amount of competition, and would be a good keyword to bring in sales/visits.
Word of thumb is that broad keywords will bring in more traffic but less conversions where longtail less but more conversions.
To look at competition quality you should do an open site explorer run for the top 5 or so results for the keyword you think you would like to target. Check out their links, anchor text, linking domains, PA, DA, etc. See if you think you could match it or do better.
3. After you have selected a keyword (I usually say no more than 1 or 2 a page) begin to implement that keyword on your site's respective page. Write QUALITY content that is NATURAL. Do not keyword stuff. Do not use meta keyword tags. Put keyword in titles, headers, alts maybe a bold or italic, in url if possible...basically all your on page stuff. I love the seomoz on page term grader. Check that tool out and aim for an A.
4. After your page is properly optimized you should begin doing link building. Never buy links, do minimal link exchanges, do not spam forums or comments, or any spam. The best way to get links is to write tons of content to get published on sites that allow guest blogging. Those are great one way links. Just making quality content in general will get you links as people find it and post on their site to share.
This is just a basic process and there is of course a lot to it but this should give you a decent framework to go by.
Feel free to PM me at anytime with questions.