Complexity in rules does not equal depth, some of the deepest games, ie chess, have very very simple rules. In fact, complexity often(but not always), makes a game less deep, as it often gets down to who's better at math or brought a table with them wins.

I really don't like requiring a check to learn a new spell. I believe randomness needs to be used carefully in an RPG. Random chance increases drama and tension, it makes the results of an action unpredictable. This is great when trying to attack a monster, or convince a guard you're a baron or something, but it is pretty universally bad for any sort of character advancement.

The fact is, a spellcaster, especially an arcane spellcaster, measures their ability through their spells. With a lot of good spells, they will be powerful, with only a few poor spells, they will be weak. The game designers(at least in theory), will balance the class based on having access to a certain number of spells, and DM can further control this by controlling what spells the character will have access to. You should never let a die determine if a character does or does not get more powerful. If the die rolls in the players favor too many times, the player will be overpowered or have abilities the DM doesn't want them to have. If it rolls against the too many times the player will be weak and may not have abilities the DM was counting on.

If a wizard wants to learn a new spell from a scroll, the DM should decide if it's possible or not by making the scroll available or unavailable. That should be the only determining factor on whether or not a wizard can or can not learn a new spell.

Think of it like this, if a fighter wants a flaming longsword, do you roll to see if they can wield it after they spend money on it. No young don't. You let them buy it and use it, or if you don't want them to have it, you don't make it available for purchase.