First: terminology. Our crew has always used "NPC" when talking about non-player characters *in the party*. We've never really had a term for people in the greater world that the party interacts with (innkeeper, evil enemy, etc.).
Now, on to the issue:
There are 3 or 4 types of NPC that can crop up in a party; I've used 'em all, and often, with no great problems as far as I can tell.
1. The hench, hireling, or (in 3e) cohort. These I just have run by the player of the hiring or leadershipping PC; I'll provide occasional input to give it some personality and character, and that's about it. It hangs around as long as its employment lasts, then sometimes leaves and sometimes gets promoted to full NPC (see 4, below).
2. The rescuee. These can be rescued slaves, a damsel-no-longer-in-distress, and so on. In most cases, these are non-adventuring types anyway, so they tend to fade into the background while with the party (assuming the party keeps them fed and alive) and leave at the first opportunity. Most of the time, nobody bothers "playing" these; they're just there until they're gone unless there's something more to them, in which case I as DM handle them. Rarely, a rescuee has enough going for it that it gets taken on as a hench (see 1, above) or a full NPC (see 4, below).
3. The story element. These are NPC's forced by the plot - a Ranger guide to get the party through the mountains, a spy keeping tabs on the party from within, a captive that is more than it seems, etc. Many older adventure modules have these, and if one crops up I'll usually play it as DM at least for the first while (though I'll usually get a player to roll its dice if-when necessary). I include high-level mentors, trainers, nobility, etc. in this category, though only in the rarest of instances will a party end up adventuring with any such.
4. The full NPC. These are adventurers, rolled up using the same rules as PC's, that join the party usually via party recruitment. They are treated as normal party members (they don't come with little "NPC" stamps on their foreheads), and are expected to take the same risks etc. Sometimes, they don't stick around long e.g. the extra Cleric taken in for one adventure because the party knows there's lots of undead involved; while other times they can become integral to the party, just like any PC. I as DM set their character and personality, and let the players (usually; I'll veto anything wildly out of character) determine their actions and roll their dice.
I'm going to hazard a guess that it's the full NPC (4, above) that people are mostly talking about here. There's a few things a DM can do to avoid some of the problems noted above:
a) play the NPC as "one of the boys". Give it opinions, give it character. Have it agree with some PC's and argue with others, just like any other PC would.
b) don't always have the NPC know the right thing to do. Have it give wrong advice as often as not, and the players will soon enough learn not to rely on it.

(or, failing that, make sure it has low enough wisdom that nobody would want its advice anyway...)
c) give it the same chance of dying or failing as a PC has. This is important. The NPC can't get preferential treatment, nor can it be always asked to "take one for the team" (though the players always like it when by random roll it's the NPC who gets squashed by the falling rock...)

That said, if the players take the metagame attitude of "it's only an NPC, leave it dead" where if it were a PC they'd bring it back, bring out the smackdown hammer: a party member is a party member.
d) if it starts getting too successful e.g. because of bad PC luck it was the only one not to die and has thus ground its way a level or two ahead of the party average, retire it - either temporarily or permanently.
Lane-"recently retired (again) NPC"-fan