SEO - is not guaranteed, you make backlinks for month, add unique content for months - and sometimes you get nothing from the search engines.
Social media marketing - posting your link to everywhere - seems pretty spammy - and very easy way to get banned - it's like some pitchman is trying to sell something in front of a big market. You are the pitchman and the big social network site (fb, twitter etc.) is the big market.
Email marketing - it's so difficult to gather emails. You will also need some other marketing technique to even gather emails - like SEO, PPC, SMM etc.
How do you deal with it? And SEO is changing constantly, it will always be updated. There is no even such thing as SEO expert.
That's why I quit affiliate marketing + blog + SEO at the time and got into programming to use less marketing techniques, because if you sell some good software, all you need to is creating a limited free edition of it and share it on some forums etc. This freemium method worked for me. But all others traffic methods look pretty boring and non-guaranteed to me.
That's why I started thinking bigger and I want to make big projects. My future is important, I can not feed my family with non guaranteed ways like SEO, even if my website is ranked 1st for my main keyword, it will not remain like that forever. I can update my apps or web based apps constantly instead of doing that s***...
I started with basic marketing ways too but I'm not like that anymore.
What do you think?