My LLM-generated code has so many bugs in it, that I end up knowing it better since I have to spend more time debugging/figuring out small errors. This might even be better: you learn something more thoroughly when you not only practice the right answers, but know how to fix the wrong answers.
Or, you can copy and paste code from examples, StackExchange, open source code, etc. Or you can read about it once, use it, and forget why it worked.
Besides all that, though, it's really the fact that LLMs bring up interesting ways to tackle problems that I hadn't thought of before, or uncover neat libraries/packages (when I program in R) that I just am not aware of.