As a software engineer, I'm convinced "vibe coding" is just a meme. It's like watching a chaotic system. You need to constantly be wrangling it back on topic, and keep it from bloating the codebase, in order to get anything done. You may be able to vibe a small mockup, but it will inevitably go off and produce garbage that doesn't make sense.
It is useful as a glorified grep, and a sort of natural language to programming language compiler for simple descriptions. But if you don't already understand what you expect the LLM to output, you're gonna have a bad time.