I would not pick Cursor Composer or Chat once and refuse to switch. They solve different shapes of work. Chat is conversation. Composer is scoped edits across files when you know the target.
Wrong mode wastes time.
Use Chat when
You are exploring, asking why code works, drafting a small snippet, or planning before you touch the repo.
Use Composer when
You have a defined change across multiple files, a ticket description, and tests you expect to run after.
My rule
Start Chat for ambiguity. Move to Composer when you can name files and done criteria.
If Composer runs wild, you scoped poorly. Step back.
Neither mode replaces reading the diff. Both beat copying from a browser if you use branches and review like a human.