Some higher end printers are virtually independent systems that automate the entire printing process, and even let you find 3D models line and send them to your printer using only your cell phone. For some people, this is all they want. For other people (like me), I enjoy having control over the details to set prints up the way I want, and to occassionally do things that the closed systems won't handle. To get that level of control, you need a computer and you need some good ol software. The specific details may vary a lot, but there are some general things I can point out.
At its simplest level, a slicer is a program that takes a general 3D model and converts it to commands a particular type of printer can understand (by "slicing" the model into a bunch of layers, remember?)
A slicer acts as a bridge between a model and a printer. Even though printers may be very different, most slicers will support many different types of 3D printer. They come with different profiles that help the slicer know how big the printer is, how fast it can move, special features it has, etc...
Slicers usually have some basic editing tools to let you control basic details of the print, like its size, its location on the bed, and its angles in the 3 dimensions. They also have specific settings for how you want to print the part. This includes the layer height (how thick you want each layer), the amount of infill material (will it be hollow, solid, or somewhere in between?), and settings for supports. (Since you can't just print in mid air, if a model has a part that hangs out far enough away from the body, the slicer can add in material underneath it to hold it up. When the print is finished, the supports are removed and thrown away. Think of it like a scaffold that's only needed until the print is finished. )
I've used a few slicers, but my favorites are Simplify 3D and Ultimaker Cura. I really like Simplify 3D, but the license is expensive and other slicers have caught up to its capabilities. At the moment, I generally like Cura's features better, and it is Open Source Software (free), so that is what I recommend to people.
Most 3D printers have some sort of super-basic screen and controls to work with on the printer itself. But it's hard for a small screen and a knob to compare with the level of control you can get from a computer program that can interface with your printer.
There are a some standalone programs for printer controls, but almost every slicer has printer controls built into its interface. If you connect your printer and your slicer via USB or wifi, you can move, calibrate, and test things from your slicer. Sometimes you can also export the sliced file directly to the printer, making slicing and printing one seamless step.
If you don't want your printer connected directly to your computer but still want remote management, there are options such as OctoPrint. OctoPrint is basically a local web server that lets you view (with a webcam) or control your printers using a browser on any device in your network. OctoPi is a special version that lets you put OctoPrint onto a Raspberry Pi device (a standalone computer the size of a deck of cards that can cost as little as $40.) That's what I run 2 of my printers from.
Learning 3D design software is not essential for printing, but I think it’s worthwhile to at least be familiar with some of the tools in case you need to make a simple shape or alter an existing design for a specific need. Learning 3D design would be a huge topic on its own, but here’s a super quick rundown on some of the tools I’ve used in case you are looking for a little direction:
Autodesk Tinkercad - a great place to start. It is browser based and not too hard to get the hang of. You add basic shapes (cube, sphere, etc...also called "primitives") to your work area and add or subtract them to eventually make the design you want. It doesn’t take long for its design limitations to become apparent, but its good for beginner projects or quick edits.
Autodesk Fusion 360 - a powerful and professional CAD program. It is free to use for hobbyists (with limitations) but licensing keeps getting rmore restrictive as they try to funnel hobbyists into paid licenses. I now avoid using it and opt for free Open Source design software whenever possible.
Freecad - It is a little clunky and can be hard to use and learn, but it is a good parametric CAD program (meaning it mainly works by drafting shapes with exact measurements/parameters) I use it for most of my practical designs.
openSCAD - A different kind of CAD system, which is really more of a programming language. Since I'm a programmer, it feels pretty natural to me. Your mileage may vary. Since it lets you take 3D objects and apply programming features like loops and variables to them, it can be a very powerful system for designs that have patterns or a lot of basic geometric shapes. It also makes it possible to create "configurable" models, where you can customize the size or shape of the model by changing simple values, without needing any CAD skills.
ZBrush Core Mini (free version of ZBrush) and Blender(Open Source) - These are less CAD and more artsy. You make designs by using a drawing tablet to push and pull on a block of virtual clay. This is the best way to make characters and figures and other "organic" shapes that are hard to define using 3D CAD tools based on 2D sketches and parameters.