I've had plenty of good experiences with NPCs who travel for a time with the party. And by NPC I mean:
- Has goals set by the DM as appropriate for the NPC, not as the DM proxy.
- No "PC t-shirt" - the party can take them with them or not, they can leave or stay at any time, and it's not an implied bond like the PCs.
On the other hand, I've had uniformly bad experiences with GMPC. The GM having a proxy on the table for their will is an inherent conflict of interest. I've had GMs do bad things to their GMPC in an effort to show "oh look, I'm not favoring my PC" - and right there you have things that wouldn't happen in game to an NPC.
I one campaign I ran back in 3.0 I had a halfling bard NPC that was several levels behind that was caught up with the PCs. Became a mascot, just buffed the party. It
still ended up causing contention as when they died with some players wanting to raise him like a PC (which would involved pulling his dead body in a sled across the tundra for a few weeks), and other players not. I feel this was my fault - he was with them for so long, and during the frequent intra-party RP debates he spoke up occasionally, and some players put him in them GMPC category.