I learned SEO because I was already into it. I just polished my skills.
I have never paid an SEO company for high rank. I only purchase backlinks because my websites are already of good search engine quality. Having a good website is easy when you just play by the rules. The more customers that visit your site(s), the more you want to make your resources easily available. Editing your webpages for customer service is really optimizing for search engines. The engine algorithms analyze sites to determine how much "satisfied visitor potential" a site has and how popular it is right now. Also, the more popular your site gets, the more free backlinks you get, the higher your site ranks for keywords.
Yes, we need to learn SEO because it is expensive to have someone else work on all your site's optimization.