It's a gray area for sure and almost no one online is talking about the same thing when they say "LLM Tools", "LLM", "Vibe Coding", "AI", etc so it makes it even harder to have conversations. It's probably a lot like the joke "Have you ever noticed that anybody driving slower than you is an idiot, and anyone going faster than you is a maniac?".
For myself, I'm fine with Github Copilot auto-completions (up to ~10 lines max) and I review every line it wrote. Most often I enjoy it for boilerplate-ish things where an abstraction would be premature but I still have to type out a bunch of boilerplate. Being able to write 1-2 examples and have it extrapolate the rest is quite nice.
I've used Aider/Claude Code [0] as well and had success but I don't love the workflow of asking it to do something, then waiting for it to spit out a bunch of code I need to review. I expect this will improve and I have seen some improvement already. For some tasks it has me beat (speed of writing UI) but most logic-type things I have been unable to prompt it well enough or give it enough/the right context to solve the problem. Because of this I mainly use these tools for one-off, POC, or just screwing around.
I also find things like explanation of errors or tracking down what the root cause of an error are useful.
I am very much _not_ a fan of "Vibe Coding" or anything that pretends it can be "no code"/"low code". I don't know if I'll ever be comfortable not reviewing the code directly but we will see. I'm sure assembly developers swore to never use C, who then swore to never use C++, who swore they'd never use python, and so on and so forth. It's not clear to me if LLM-generated code is another step up or just a tool for the current level, I'm leaning heavily towards them just being a tool. I don't think "prompt engineer" is going to be a thing.
[0] And Continue.dev, Cursor, Windsurf, Codeium, Tabnine, Junie, Jetbrains AI, and more