To use a 3D printer, you will need certain software applications to convert your 3D models into printing instructions. Usually, these software applications are called "Slicers" and are used to transform a stereolithography (STL) file, a 3D model file format, into a toolpath for the printer.
Most 3D printer manufacturers provide their own proprietary slicing software with their printers. It is most likely you will use the same software that came with your 3D printer. Some manufacturers provide both online platforms, as well as downloadable software packages.
Aside from the slicers provided by 3D printer companies, there are also many well-known third-party slicers that are widely used with 3D printers. Examples include Slic3r, Pronterface, OctoPrint, and Cura. Depending on how experienced you are with 3D printing, you may find different slicers offer the type of advanced features you are looking for.
If you are just starting out with 3D printing, you may find the software that came with your 3D printer to be more than adequate for your level. And as your skills and experience grow, you can then move on to more advanced applications. As you get more familiar with 3D printing, you may even find yourself experimenting with multiple slicers and finding the one that works the best for you.