It gets complicated when you have to build websites and apps to actually solve some kind of business / consumer need, and I would argue it isn't even the programming aspect that makes it complicated. Rather, it's the fact that the thing you're building is built atop a layer of dependencies that you don't really know anything about, who in turn have their own layer of dependencies. To use these dependencies effectively, you need to know about some of the concepts embodied within them, such as a render lifecycle if we're talking about some kind of frontend js framework, knowledge that isn't precisely "programming knowledge".
And I as I mentioned before, this is why I think I'm not too worried about LLMs getting good at programming.