One thing that always comes up in questions about magic is "Why doesn't everyone learn magic if it's so easy to learn?"
People tend to forget three things.
Casters are not selfless. If anything, they tend to be the most self centered, arrogant, self righteous people in the games. Look at how many disasters they cause, for one! It's unlikely they're going to share their spells with anyone else, RAW aside.
Not everyone can learn magic. PC's have an easy time learning magic by RAW, but there is a caveat, stated in the books almost every time: PCs ARE NOT AVERAGE PEOPLE. Sure, a PC can learn magic by taking a level in the spell casting class....but that doesn't mean anyone else can. NPCs are invariably described as having put large amounts of time and effort into learning magic. There are no NPCs who simply 'leveled up' into magic by their descriptions. Pcs are beyond the norm.
Trust. In addition to money, there is another factor - trust. It takes time to do stuff; even a witch, who can literally heal every strange they meet once per day, can only travel so much through a town and take care of these people. She has to talk with them for one - and she has to be allowed to deal with them for another. Not every person is simply going to trust a spellcaster to do what the spellcaster says he's going to do. In fact, your average person is going to be very, very wary of letting a stranger use any magic at all on them. Because spellcasters do weird stuff, like blow up cities, summon demons, try and kill gods, and break continents. This is known fact in the universes where they exist; there's usually at least one disaster area caused specifically by a spellcaster doing something he shouldn't. and you're going to let this strange cast spells on you, or the village well, or enchant a wagon? Not bloody likely.