This is a difficult question for me as well.
I like my NPC's to have a certain leeway with what resources they have available, what they know, and what they can bring to the table for/againat the PC's. However, in running a game I am trying to create the sense of a consistent world.
If the kobold in Mouseferatu's post (able to cast raise dead) were merely able to use "raise dead" on an off-scene event (to trigger a plot, for example, where a PC's nemesis is brought back to life) I'd have no problem with it. There's no consequense other than plot. If the kobold couldn't raise the nemesis, I'd have somebody else do it.
However, if the kobold with raise dead were using it throughout an adventure, bringing back its tribe as the PC's advanced to wipe them out, this causes some issues for me. The PC's will rightly wonder "how is he doing this?" and let's say they figure out he is casting raise dead over and over. There are obvious questions that follow... like, how do we prepare against this high-level spellcaster? How is he obtaining the riches needed for this casting? If we defeat him quickly, perhaps these riches can be ours? (I'm talking in 3E-speak because I don't know how the rules for raise dead work in 4E)
But from the DM's side of the screen, this kobold is just a low level dude who can cast a high-level spell. So the PC's over-prepare, find no riches related to raise dead, and are unsure why thiings went so differently than expected.
What the players take away from this sort of thing is a sense that they can't trust in their knowledge of "how the world works" enough to guide their tactics. I have found that when the players can't rely on a consistent setting, they are less invested in that setting. As a DM, I really don't want that.