Most bloggers who have been doing SEO surely understands why they have to do so. But for newbies, I just want to share how I understand Search Engine Optimization.
The target in doing SEO is to put your blog on first page of search engines on a specific keyword. Most of search engine users only check the first page of results and doesn't bother checking the next page. When that happens, there's higher possibility that you'll gain more visitors thus increasing your site's impressions (in terms of Adsense) and a higher chance of your visitors clicking your Adsense ads and increasing your earnings.
However, the search results can change. If you see your site on the first page, that doesn't mean it will permanently be on the first page. That is why SEO is an on-going project. It's not enough for you to work on your site's SEO for just a couple of weeks or months. It's something that you have to keep doing for as long as you want to earn from your site ;)
Search Engine Optimization is not an easy feat. There are different techniques available and there are new ones being created. Not all techniques work for everyone. So you have to find out what will work for you and your site.