The reason we have NPCs lose their usefulness from the mid-game is so that player shops and goods can fill in the rest of the space. You stop going to the NPC Blacksmith for repairs because the player shop is now worth spending extra silver at. You buy SP and HP potions from alchemists because you need the extra strength that the NPC shops can’t give.
If NPC vendors were giving services and goods of the same quality or better than player shops, it would kill off many of the shops. After all, why bother going through the effort of making a shop class when everyone will just buy from the NPC instead? So I’d have to disagree with your first point, unless the player shops and goods are always at the top of the list. (i.e. add more levels of HP and SP potions to NPC vendors, but make player potions even better than them.)