You can tell it “implement feature X” and it’ll go and do whatever’s easiest for it, often something dumb, that’s when people usually think “it’s dumb, won’t replace devs” and give up. Or you can nail down your requirements by talking to it and describing what you’re looking for, often it comes back with things you hadn’t considered or ways of doing things you didn’t know. Then just tell it “implement this SDD” and watch it one shot it in an hour or so.
There’s also pain points - some languages like Swift have changed so often and there’s little open source code to train on out there, so it’s on the worse side if you do iOS development.
It’s a new skill that needs working at, but in the end your output is significantly increased.