I often ask myself the same question, especially since I keep most of my writings to myself. I even bought a domain to start a blog and haven't posted a single thing. To afraid of the insults to be vulnerable and put my words out there.
Regardless of that, first off I write to heal. To let out all my pain, sadness, anger and disappointment of self and humanity. I write mostly because I am filled with sadness and pain that never eases or fades. Tears fall daily from my eyes and most of the time I couldn't tell you why other than my heart and soul aches in a way I can't write on paper.
Secondly, I write in hopes to reach someone who is aching like me. To let them know we are all alone and feeling lonely. I want to touch a heart or soul of someone who is at the point of giving up and ending their suffering. I want to be the light in someones life that gives them hope in that exact moment they need it.
I live my life with BPD (Borderline Personality Disorder) struggling to make it through each day. I am judge, to difficult to be around, and have no interpersonal relationships so I know lonely. I know I am no John Gresham, shit I an not even a Dr. Seuss, but writing has saved me and I will continue regardless if I reach zero people of million.