Non-player characters are the computer controlled guys that you don't fight against. They buy and sell weapons, give out quests, and fill you in on the game's lore. Sometimes they join you in battle; sometimes they flee or cower. They guard town areas against enemy attacks. Sometimes NPCs have to be safely escorted from one place to another. They identify your items, repair your equipment, and teach you new skills. Sometimes they just wander through town chit-chatting idly. But they always shatter immersion with their badly-written dialogue, robotic demeanor and farcical incompetence.
A typical town merchant NPC has the personality of a vending machine. A typical combat retainer has the tactical sense of an eight-year-old playing laser tag for the first time. Escort quest NPCs are the worst of all, doggedly walking forward against all common sense, determined to die in the most inept way possible.
I have a special dislike for quest givers. The hovering punctuation, the underwhelming mission text, the golem-like 24/7 presence...a quest-giver's existence resembles a punishment handed out in a myth: to stand forever in one spot, begging strangers for help with a problem that can never be solved.
I've pretty much given up on NPCs, and if at all possible I won't be including them in my projects.