It's also OK for low stakes personal tools where you're willing to risk avoidable bugs since they'll only affect you.
For code you intend to actually to deploy to other people or maintain long term you need to move beyond vibe coding and actually look at, understand and iterate on the code that it produces.
The moment you start doing that it stops being vibe coding, which is defined by the act of not caring about the code that was produced for you.