It seems to be a common practice for people to create an NPC to assist them in various things. This is fine, in specific scenarios.

A player created NPC cannot be influential to the story, such as a fighter, or a spy.

You can use an NPC to get directions in a large city, or mild conversation on the road. But they can't know how to get someplace secret or hidden, and an NPC cannot know something that would not be considered common knowledge.

An NPC cannot become a follower of your character. You can walk down the road with one to keep your posts interesting in travel. But they have to leave after a short time and continue their lives.

There will most likely be staff created NPCs scattered about the world, who's only purpose is to assist players, and keep areas alive and interesting. These NPCs may bear secrets, and can affect the story, but a player cannot control them. These special NPCs are only controllable by the one who made them.

There are two types of staff NPC. The main type is a permanent NPC, the only thing different between this NPC and a player character is that they are there for a single purpose. A bartender NPC can never leave his bar. Well, except to sleep or something. A permanent NPC is always around someplace, and they have a job to do. A permanent NPC gets a character sheet and back story, just like any player.

The second type is disposable. These NPCs have one purpose, and once that is done, they walk off into the sunset, never to be seen again, knowing they have done their job. Of course, they can be brought back later, but these disposable NPCs are unimportant, and only exist to advance the plot a bit.

A third type would be the semi-disposable NPC. These are a sort of mix between the two. They will sit in one location, and attend to a set job, but have no real back story, or need thereof. These would mainly be used for shopkeepers. People who you pass by every day, and never look at twice.