They are not needed. If the party is too small for the campaign, or is lacking in some capabilities (e.g. they think they need more front-line warriors or backup healing), then just use NPC, mercenaries or companions. Actually, as a I DM I prefer to control all of those myself. The only important thing is that such characters remain in the background, i.e. they don't take initiatives and don't affect the story with their decisions.
NPCs have character too - that's what the 'C' stands for.
When you talk of "NPC mercenaries" do you mean lower-level hirelings? If so, wouldn't a practical party soon realize there's more use in recruiting one competent fighter as an equal (as in, equal to their level) than 6 sacks of meat who might not last past the first real battle? That, and in all systems it's easier to roll up one fighter than it is to roll up 6.
Party NPCs are just fine for a bunch of reasons:
- they give guests something to play, far more fun than just watching
- they give players something to play when their own character(s) are dead, asleep, missing, elsewhere, or whatever
- they can fill holes in the lineup (most often when there's an obvious hole e.g. no Thief the party in-character goes out and recruits someone to fill it)
- they can be plot points in and of themselves e.g. spies, observers, reason for adventure, etc.
- after they leave the party they remain known entities and can become information sources, safe havens, etc.
Adventuring NPCs are treated just like any other party member (henches excepted, they're a different matter) in terms of treasury division, keeping watch, etc. and have their own personalities, goals, desires, etc. Non-adventuring party NPCs e.g. a princess who the party is guarding while she travels from A to B are treated as more temporary things as they are unlikely to continue with the party long term.
As far as possible for play purposes the people who live in the game world don't go around with little 'PC' or 'NPC' stickers on their foreheads; and what's good (or bad) for one is good (or bad) for the other.
Lanefan