"Some developers like to rebase the main branch" - I think you meant "rebase their development/feature/bugfix branches" or "rebase from the main branch" - you should almost never rebase on your main branch or other branches that are in active use by other developers since it can be highly disruptive due to the loss of connectivity with commit history.
It can be very useful to "clean up" the contents of feature/bugfix branches before merging.
"Some developers like to rebase the main branch" - I think you meant "rebase their development/feature/bugfix branches" or "rebase from the main branch" - you should almost never rebase on your main branch or other branches that are in active use by other developers since it can be highly disruptive due to the loss of connectivity with commit history.
It can be very useful to "clean up" the contents of feature/bugfix branches before merging.