When a 3D printer stops pushing material, the material won't immediately stop flowing from the end of the nozzle. The residual material in the nozzle will keep oozing out. To actually stop the material from flowing, the printer needs to retract the material backward from the nozzle opening. This is necessary to make clean travel moves without stringing.
After you enable retractions, the extruder will retract material while making travel moves that are particularly sensitive to stringing. For travel moves that only pass through infill or from support to support, the extruder will not perform retraction. There is also a limit to how often the material can be retracted, through the Maximum Retraction Count and Minimum Extrusion Distance Window settings.
It'll reduce stringing significantly.
It will significantly reduce the amount and size of blobs on the surface where the nozzle enters the perimeter of a part.
It takes a bit of time to retract.
The material flow gets interrupted when a retraction happens. This has negative consequences for dimensional accuracy, and may lead to underextrusion.
The filament could wear down when too many retractions happen, preventing the feeder from gripping the material.
Flexible materials are harder to retract, because pulling on the filament makes the filament stretch instead of retracting backward from the nozzle tip. It may be very time consuming and relatively ineffective to enable retraction with such materials.