I have found that it's like having a junior programmer assistant. It's great for "write me python code for opening an in file from a command line argument, reading the contents into a key/value dict array, then closing the file." It's terrible for "write me a python code for pulling data into a redis database."
I find it's wrong 50% of the time for certain command line switches, Linux file structure, and aws cli.
I find it's terrible for advanced stuff like, "using aws cli and jq, take all volumes in a vpc, and display the volume id, volume size in gb, instance id it's attached to, private IP address of the instance, whether is a gp3 or gp2, and the vpc id in a comma separated format, sorted by volume size."
Even worse at, "take all my gp2 volumes and make them gp3."