All three of these features are used to improve the quality and success rate of prints, especially those failing due to issues on the first few layers, or due to the small size of the first layer.

Raft

A raft is a horizontal feature made as the first few layers of a print, and is used to help with bed adhesion issues, primarily used with ABS. The first few layers printed are the brim (typically prismatic), with the part itself on top of it (with a small separation distance to aid in separation, to allow the part to be removed from the raft). This separation distance needs to be adjusted to allow the first layer of the actual part to adhere, but also for the raft to be removed easily.

Skirt

A skirt is a single-layer feature designed to help extruder priming and to establish a stable filament flow for an optimal first layer. They are generally a few passes around the first layer "footprint" in the rough shape of the first layer, but they do not touch the part itself or help adhesion directly (although having a primed and ready extruder helps extrusion on its own).

Brim

A brim can be considered a skirt touching the first layer shape. It is used to help adhesion, and increases the first layer surface area (thus having more area to adhere to the bed). Brims are best used for parts with small first layers that fail to adhere properly. They are generally done as perimeters (as opposed to the crosshatching of infill) to be easily removable without damaging the part.

What are main differences between rafts, skirts and brims?

I would like to understand the differences between rafts, skirts and brims. They appear in the software which I'm using to edit my 3D objects.

Can anybody elaborate what are these and what are the main differences between them?