Many very important results in math (that have become staples) are made up of extremely specific techniques that are very hard to reproduce even after 5 minutes one has read (and presumably understood) them. Even understanding in math comes in waves. To get a deeper understanding of an idea you'd need to have some preliminary grasp on it.
I often see the sentiment "in math if you understand something, you don't need to memorize it" on English speaking side of Internet. Contrast that with the old Soviet school (& modern Indian one?) philosophy which was "understand -> drill -> memorize". IMO, the former philosophy produces weaker, barely able mathematicians.
This vid below about Hitler learning topology echoes some of what's typed above.
I remember a math grad student friend who said "math is a young man's game". He compared it to cycling; nothing you do in your old age would compare to what you could do earlier.
In fact according to him math is worse than cycling, if I'm correct that cyclists peak in their early 40s. Contrast that to economics, which specifically offers the Clark Medal for the best work performed by someone under forty, because old-timers would otherwise snaffle up every prize.
I am revolted by that idea. And I'm certainly a better coder than I was in my thirties, and I was better then than I was in my twenties. (Not that I'm under the illusion that my work compares to PhD-level math.)
For programming: I'm quite happy saying "learn concepts, not terms/frameworks". There's obviously some value in things you use a ton daily, but you'll naturally remember those through use - for the rest, thankfully, programmers are great at making things searchable, and there are loads of tools to search even when not (e.g. grep). Terms can be useful for communication purposes, learn them as needed and meh beyond that. Frameworks though are basically the programming-world equivalent of fashion, they change with the weather / at the whims of popular tweets. Yolo - learn how it works instead of the API, that's waaaay more useful, and is probably transferrable to dozens of other frameworks.
But as an example: I routinely forget the argument order and finer details of the various "split a string" funcs in the 3 or 4 languages I use ~weekly. Because I only use them every few months. And in my next language, quickly-recall-able memory of those other-lang patterns won't help me in the least (if anything, they might slow me down). Splitting a string though, and choosing which end to start from, and how many times to split, and the various i18n complications, is a general concept that's applicable in all languages.
It's funny that society doesn't normally classify programmers as creatives. (Then again, it doesn't classify scientists that way either.)
Recently though I've been learning to fly (in the UK). You have to take some theory exams. The "How the aircraft flies" exam works in the way it has in the past - read through the material a couple of times and because it's a coherent set of knowledge that fits in a framework I already understand (Engineering) I can remember everything. Air Law does not work like that though. There's lots of minutiae to learn (how much visibility do I need for VFR at 5000 feet as supposed to 1000 feet, what does the white ball above the T mean on a signal square). Anki let me learn all of that stuff over a few weeks for 15 mins a day (plus deck creation time - a couple of hours) and pass the exam with no mistakes.
But that said for learning a language these kind of tools are very useful.
There just aren't big lists of things I need to memorize, like there once were. Also, I'm certain I'm learning slower than I did as a student. But that could again be good or bad -- maybe I stopped learning as fast because I picked all the low-hanging fruit and I'm busy using it.
I certainly don't see lots of low-hanging fruit like I used to. But I always wonder if that's a failure of imagination.