A bit of a hodgepodge, based on the type of caster. The only standard rule is that any spell chosen must get my approval (which is rarely not given).
For the casters that have limited spells they chose, they just have to get my permission to chose the spell. A spell that is found (scroll, etc.) is assumed to have my permission.
For the casters that have full access to their list but still prepare spells (cleric being the classic example), I allow them to chose 1 spell per caster level to add to their spell list. In addition to that, they can add spells they find during the game automatically. Besides scrolls of the spells, I occasionally sprinkle in divine books revealing these secrets.
All other casters (warmage, beguiler) just can use their Advanced Learning abilities to add them to their list.