I've found it depends on the context (pardon the pun)
For example, personal projects that are small and where copilot has access to all the context it needs to make a suggestion - such as a script or small game - it has been really useful.
But in a real world large project for my day job, where it would need access to almost the entire code base to make any kind of useful suggestion that could help me build a feature, it's useless! And I'd argue this is when I need it.
It can ingest the entire codebase (up to its context length), but for some reason, I’ve always had much higher quality chats with smaller bite-sized pieces of code.
For example, personal projects that are small and where copilot has access to all the context it needs to make a suggestion - such as a script or small game - it has been really useful.
But in a real world large project for my day job, where it would need access to almost the entire code base to make any kind of useful suggestion that could help me build a feature, it's useless! And I'd argue this is when I need it.