The benefit of Aider is that you can configure a very involved static analysis toolchain to edits which directly triggers new edits in response, and everything is a git commit so it's easy to revert bad edits quickly. I have used both and I find Aider provides more control and produces code faster due to leaner prompts (it's also easier to run multiple Aider instances than Cursor instances), while Cursor has a prettier interface, and I do like being able to see diffs live in files (though I almost never spend the time reading them to accept/reject). I imagine if you don't spend any time configuring Aider cursor would probably seem far better.
Create a file like conventions.md in the root of your repository with specific commands for common tasks: running tests, linters, formatters, adding packages
Set this as part of the files it reads on startup. Then ask aider to look at your codebase and add to it :)
Aider has a lot of slash commands to familiarize yourself with. Ask and web are crucial commands to get the most out of it.
My recommendation to anyone is to use ask the most then tell it to “implement what we discussed” when it looks good.
The biggest thing is to set it to autofix lint/test issues, then to set up a really good lint/test config. Also, I find that Aider's default system prompt setup is a little less preconfigured out of the box than Cursor's, so it helps to have detailed styleguide/ai rules documents that are automatically added to the chat. I usually configure my projects to add README.md, STYLEGUIDE.md (how to structure/format code) and AIRULES.md (workflow stuff, for instance being socratic with the user when requirements aren't clear or the prompt contains ambiguity, general software engineering principles/priorities, etc).