I do it the old fashioned way.. I generate unique content and the links flock to me... ..when that doesn't work I send personalized emails to webmasters and beg for them.. i get about 1 link for every 25 requests or so..
actually, if you are lucky enough to make it to the front page of Digg, you're virtually guaranteed hundreds of (usually) good backlinks. But it's tough to do.
Writing articles is definately a good one. I personally like trading links the most. It's pretty easy once you learn how to trade the right way. One of the best ways is to create a widget script that people can copy and paste to their website pages that has a link in the <noscript tag that nobody can see except for the search engine spiders and people who have javascript turned off in their browsers. Any kind of cool helpful free content will work and people will gladly put one way links all over their website to yours for free.
I use a combination of techniques including the signature link, submitting my url to free directories, submitting contents to article directories and commenting on the blog. I feel this kind of multiple effort will definitely improve your site's PR and increase the number of google backlinks rather than concentrating on only one source.
This is one of the best answers so far... Google will give more credence to "relevant" links (links from sites in your niche/same subject) than it will to directory entries, random forums, etc.. The more quality links you have, the better.. Green for Mr Asbestos..
Dp signature links are the best.... other than this you can go for directory submissions.... check my sig if it interests you