Achieving good rankings is making sure that your content is relevant to the keyword you are aiming to get good results for.
Yes link building is important but it is very important to make sure that the majority of links linking to your site is somewhat relevant to the website you are trying to get good rankings for.
Articles are a great way to get great links, dont pay someone to write your article afterall if you are passionate about your website (you must be since you want good rankings) then it shouldnt take you long to type a 300-500 word article. Once article is completed submit it to article directories and repeat this process every 1-2 months.
Understand your competition, see where they are linking to, see if you can get the same link. You can goto www.linkpopularity.com
and type in your competitors website to see who is linking to them.
SEO is about being patient and truly understanding how Google/Yahoo etc ranks sites and that relevance of text to keyword is the main reason why some sites get good rankings and others dont.