My reasons are:
- If I help others, others will help me when I need their help, like karma, and in fact in the early days of stackoverflow, people refrained from answering someone if he doesn't accept answers, correct me if I'm wrong but there was a percentage under the username showing how many accepted answer someone has, and a moderator used to leave a comment asking the user to accept answers. In fact I was blocked from asking on ServerFault and probably still am and the only way for that site to forgive me for asking stupid questions as a teen, is to answer questions, if I give good answers my account will be normal
- A good reputation is great on a CV, I know brilliant programmers who don't have an SE account nor a github account, but a good looking SE account will catch attention when you apply for a job, in fact I'm have a job interview tomorrow and yesterday evening I discovered that I know the CTO, how? Simply because he a top stackoverflow user in my country.
Those reasons are more than enough to guarantee the future for SE, people will always want these things, sites might die, other sites will be created, old people might not be so active, I was much more active 5 years ago, but there will always be new users younger and better than me, who will take my place.