Hmm....
What makes a person become a narcissist, psychopath, sadist, addict (and so on). Probably everyone who has met such a person has wondered and probably delved into intellectually to some degree.
However, I think the first thoughts I had that my new "boyfriend" was definitely a full-blown narcissist - after first of all the sadness for him (amazingly) plus chills down my own spine - was to think how can I get completely away from him safely. It took one more date, where he dropped me off in the rain and dark in the middle of nowhere to make my own way home. I realised he would never leave me alone if I didn't go 100% No Contact, despite him saying "no one ever leaves me(more chills). I finally immediately carried it through. As I was frightened of him I gave a tearful "its not me, its you" short speech on the phone so it looked like I was the crazy one - I still baulk at doing that
and think I might have been a bit more ballsy - look I never want to see you again end of. But anyway thats how I coped, I was feeling vulnerable, at the time.
Its good to try and understand (thank God for the internet and Amazon, I would never have worked this out by myself), but intellectually going the whole hog is something to do later if thats what you want.
The main thing to do IMO is to get away. To save your own soul. Perhaps very literally. Even if you don't care about your own soul, and you may not, somehow you must still do it. Otherwise its like you are caving in to a kind of evil, giving it sway in the world. Thats how I saw it anyway.
As for your direct question - what causes it - like most things - its nature and nurture. You can read 1000 books and get 1000 opinions and though it might be very interesting I believe you will still be left with some kind of combination of this. So the real question is what you, concious, thinking, breathing, and in charge of your actions and hopefully your soul, are going to do.
I suspect as you are asking this question you are probably close to making your exit, good luck
.