I've had a very good experience with Cursor on small Typescript projects.
It started hallucinating a lot as my typescript project got bigger.
I found it pretty useless in languages like Go and C++.
I ended up canceling Cursor this month. It was messing up working code, suggesting random changes, and ultimately increasing my cognitive load instead of reducing it.