The one difference I can see is how chatGPT optimises the code based on the instruction you provide, while Copilot could only complete the code in one way.
For instance I asked chatGPT to write a code for square root which it did using inbuilt Math.sqrt function. I instructed it to write without using inbuilt function which it did. However, no matter how many times I instructed it to avoid using Math.floor or Math.ceil, it was not taking any heed.
in most copilot editor extentions there is a window you can open that gives 10 different completions. You can also easily shape what it gives you with a single comment ("# function for a qsquare root, don't use math.sqrt or math.floor" etc)
personally, it's awesome for certain things. Learning new technologies its great, produces new ideas for how the syntax works that are usually right.
It's also very good at tedious complicated maths. While using it for hobby gamedev it's been super great for writing code for transformations, animations, rotations in 3d space etc. While those are things I could do given maybe 20 mins, it can often get them first or second try (under a minute!)
It's not a superhero, and having watched people with no experience using it, its not nearly as helpful if you have no idea what you're doing, but it has a real sweet spot when you are generally experienced but new to a technology, field or project