Since FDM and SLA are additive technologies for 3D printing someone must tell the printer how a ball should be printed for example.
Imagine you want to print a ball of 5cm diameter with a glue gun, so you have to add several molten lines of glue above each other in a round circle until it becomes a ball, right?
This is what a slicher(to slice) software does for you. You load an .stl file into the program, hit slice and the model get's devided into slices(like when you slice an apple). This machine readyble code file can be safed and transfered to the printer. That's it.
There a a lot of slicers out there like
Ultimaker Cura or
Simplify3D or
PrusaSlicer. All are operating the same way in general but have here and there better views or knobs and features where you can modify your print speed, setting for quality or look and also reduce the material to waste as little as possible.
Most of them can handle both SLA and FDM printers when you select the machine hence you have the same .stl model bu you can generate a different machine readable file either for SLS or FDM printers.
Ultimaker Cura for example has some cool and free addons in a marketplace like post processing, custom supports or calibration shapes. Also a extended settings guide is very useful to install!
In fact when you design a model you have to tinker about how your slicer can be translate this. If you create 3mm walls in tinkercad but your FDM printer has only a 0.5mm nozzle it might be cumbersome to print a smaller wall with a large nozzle.
Ultimaker Cura looks like this when opening a .stl 3D object file:
After hitting the Slice button in the lower left corner you'll see the "slices" and lines which your 3D printer(FDM) will understand:
Furthermore, near the lower left blue botton you'll see the estimated print time as well as the material amount in gramm or meter and, if set, the cost of the print(here 0,74€).
So you see it is not expensive at all(adding the power consumption of the printer).