The most important virtual inhabitants are undoubtedly the heroes who the player pretends to be. Now before I continue further, I'll warn you that I'm using my two games, Dark Ages I & II, for examples, mostly before and after to show you how a game can be made better. In Dark Ages I, the hero was a rather static character, just a standard "do-everything" kind of person, one that the person couldn't role-play much. At best you could focus your energy into increasing his magic skills before gather important weapons for his battle skill. Really, he is all that is necessary to make a good RPG, but never a great one. Dark Ages II adds some twists. You now have three characters, each with their own special abilities. Each starts as a clean slate and progresses independent of the others. You can create your magic user to be an indestructable fortress of death on the battle field and your theif to be kind and skilled in the use of medical herbs. Or you can create a fighter skilled not in brutality, but in assassination. His skills on the field can be so great that he need not use his strength to pummel someone into the ground, but rather can disembowel an opponent in one blow. Your thief perhaps finds picking locks unartful and leaves it to the warrior to bash doors in. Instead she may concentrate on disarming traps and pickpocketing. In any case, you can play the characters to be different people whenever you start a new game. Such dynamics adds value to an RPG.
Look again at the above paragraph. Not only did it show the importance of dynamic characters, but it also introduced characters of different skills and types. These are known as character classes. Classes are something so crucial to a game, it would be hard to make one without them! Imagine a world where everyone was a simple gentleman who just stood at convenient locations and dispensed quest information; ack...how boring it would be! By making character classes you provide some individuality to each person. And just like everyone in this world is different, making people different in your RPG world makes it that much more realistic. Dark Ages I had very few character classes: knights, peasants, shop keepers, nobility, dwarven warriors, and mages. The world it created wasn't one which had much depth. A better way would have been to create more occupations and use them innovatively. In your world, don't stop at knights and peasants, but classify the peasants into simple farmers, shepherds, street peddlers, and servents. Knights could be divided into different factions and followings, some of them chivalric, others terrorizing warlords. Also, add odd occupations into the game for depth. Street performers (a simple juggler perhaps), thieves who roam the streets of cities, druids who protect the forests, etc. Something I'm introducing into Dark Ages II is guilds. Guilds are simply when large classes found in the game band together to one common cause. The thieves' guild may have a mafia-like hold on a town while an engineer's guild advances the technology of a given city tenfold. Like the guilds of history, they contain several subclasses (like engineers of weapons and engineers of special tools) and may not always agree with one another.
This brings us now to a rather difficult part of RPGs, NPC (non-player character) interaction. Most games are like Dark Ages I in which the people just stand there and interact only with the player. However, to make a realistic world you must also make these people interact with their environment and each other. Perhaps the greatest example I can think of is Ultima 5 through 7. I'm still baffled today at how Origin can create worlds with 300+ people, each running on their own specific schedules! Each person got up at a different time in the morning and walked to where he or she worked, took breaks for lunch (or some didn't!), took strolls in the park before dinner, or sat by the fire before bed, etc. Such detail adds a lot of realism to a game, but other steps can be taken as well. Moving NPCs are a bonus. It doesn't seem like much, but just moving them a little is better than having them stand in the same place forever. To top things off, interaction between NPCs is essential. It doesn't have to happen often and probably will not since it takes a fair amount of precision coding, but even in Dark Ages II, I am trying to interact between NPCs. Some examples I am using is wars between feudal lords, assassinations by radical factions, or simply NPCs refuse to act without other NPCs helping out. The more you can define the roles of each NPC in their world, the better it will be.
And finally we come to the last inhabitants in your virtual world: the enemies. Depending on the type of RPG you make, you will decide on the correct type of opponents who must be defeated less they kill the heroes. A cyberpunk-futuristic RPG would have nothing but humanoid enemies while a medieval RPG could integrate mythical beasts. Whichever RPG you choose, the key to enemy creation is to make them fit their environment, fit their theme, and most importantly, follow the rules of the game. Don't create opponents who always do X-amount of damage, but instead are limited in the same way the characters are limited. Instead, create an artificial intelligence (it doesn't have to be difficult) that causes a rabbid dog to attack the closest character in battle, and an orc-veteran to instead choose the weakest character to attack. Such realism requires the player to adjust strategies and skills depending on the type of battles that occur. It makes your virtual world a much more realisitic world in which to survive.
I do admit, it makes a game much harder to code, but much greater in the long run. But even so, you don't absolutely NEED any of the above to make a good game. Instead, pick and choose what you think are good ideas and what you would like your world to be. After all, each virtual world is unique and should contain unique features of the designers choosing.