You should actually avoid cursors as far as possible. If there is a set-based logic that can solve the problem then you should use it instead of cursor based logic. Cursors are procedural in nature and not performant as such. There are however certain tasks that are simplified using cursors like looping through each table to run update stats and so on. So it depends.