Ideally, sure, you'd recruit a rogue. But realistically that's more of an RP decision based on the availability of a rogue at the time (if you happen to be standing near one when you decide to go on a dungeon run, or can round one up in a hurry through in-game means like a Sending spell). Mechanically speaking, the reason you want a rogue is because they tend to be high DPS and can help you chew through a dungeon quickly if you have someone who can tank for them, plus if they have invested in Search then they can help you clear sometimes very dangerous traps -- it's usually not because they can pick locks that you want to recruit one from a purely mechanical perspective, though it's a great reason from an RP point of view.
In the end, this doesn't take anything away from rogues, who will still remain valuable for the reasons above; but it adds the possibility that you might need to hunt down a caster to help with your broken item. I don't know if "NPC identification" needs to be available at shops directly, though? Maybe try it without first? Then people can decide which they'd rather do -- spend gold to repair something blind, or hunt down someone with analyze dweomer to help them identify their broken items, or just grab a rogue the next time they go dungeon delving? Unless someone's playing a caster/rogue, they will at least need to look outside themselves for one of the options if they don't want to spend gold blindly.
And I guess my POV is that if items already break, why not give players a means of repairing them?