all of these are true, I would also submit the site to as many free local listings you can. Check your competitions backlinks to see where they are being linked from. Like previous users have said. Have good content and select which targeted keyword phrases to optimize your website for and watch it climb the rankings.
One thing you have to make sure you do though is always check your rankings. One day you may be at the top while the very next day you are a few spots down. Seo is constantly changing and so should your tactics. Check out
seomoz and read the blog there. They are the industry standard and provide a ton of resources. If you learn to do it on your own you will be better off. Yes you can pay an seo firm to get you up to the front, but thats it you are there and they are done. Other sites will see that you jumped them and take corrective action. This is why it is good to know how to do it. It will save you a lot of money in the long run.