LLMs can't reach the metaphorical. LLMs don't know what true beauty is. I will grant you they have gotten great at the literal and the poetry forms. But it is the beauty that elevates things to my quality bar, and makes a difference between "legacy code" and "innovation" to me.
If you're not seeing this, at best you're probably unable to direct them or use them well.
FWIW, if you don't believe the above, I challenge you to put up a quick git repo, where you are unable to get the deserved quality out, and we can quickly show you how the same quality is available via SOTA agents, within a fraction of hand-coded time.
Depending on the task, it can sometimes be just as arduous to produce enough guidance and guardrails to get the LLM to output exactly what you need that you can trust without issue or extensive review than it is to write it yourself and use the LLM just for ad-hoc generation. It's a constant balance and an endless amount of micro-decisions, honestly, but it's pretty essential to stay engaged and not YOLO with agents the way so many are. Most of my interactions with models these days are done in pseudo-code.
I'll still use 'agents' for throwaway tasks--mostly with local models--including tasks where some sort of ad-hoc code generation is in the critical path (e.g. scraping data).
I use hundreds of millions of tokens a month, and LLMs have completely transformed the way I work. They're also, frankly, pretty mid programmers.