Windsurf goes looking into the codebase and learning context before attacking the problem in my experience. Often Cursor tries it's best to just guess the solution without context and only really resorts to going deeper when you tell it they fails.
I find if I tell Windsurf to look at something it will, Cursor I sometimes lay everything out for it and it just doesn't even read it.
Ultimately though once you run out of requests on Windsurf it's very weak without Claude though, and the top up requests are burnt through too quickly.
I trialled Cursor for a month and then Windsurf. Cursor read entire code files in while Windsurf would read the first 100 lines (or was it 50?), then the next 100, and often stop before it got to the part of the file with the method in which was needed.