For the purposes of FRC there are basically two types of motors: brushed, and brushless. You can hook a brushed motor straight up to a power supply and move it, but a brushless motor requires more precise control. You should never plug a brushless motor directly into a power supply.
CIM and Mini CIM
CIM and Mini CIM motors are the bread and butter of FRC. They've been around for forever, and you're bound to find a bunch laying around the shop. They are relatively slow (still fast enough for almost all applications), but very torque-y and reliable brushed motors. Generally, CIM motors have been replaced by NEOs, which weigh almost 2lbs less and produce even more torque. CIM motors are controlled with Talon SRX or Victor SPX motor controllers.
NEOs are some of the best motors available right now and are great for many applications. They are only slightly heavier and bigger than a 775 (0.1lbs), and can produce almost 4 times the stall torque. They have a fairly low free speed (about the same as a CIM), but can be geared for higher speeds. If it makes sense to use a CIM somewhere, it probably makes more sense to use a NEO. NEOs are brushless so they have 3 leads and are controlled with a SPARK MAX motor controller. NEOs also have built-in hall sensors which means encoders aren't needed for most applications. The hall sensor has a resolution of 42 counts per revolution, which comes out to about 9deg of resolution before any reduction. The light weight, small size, high torque, and built-in encoder make NEOs fantastic choices for almost any application.
775 Pro / Redline
775 is a size of brushed DC motor. Two common 775 motors in FRC are 775 Pros from VEX/WCP, and Redlines from Andymark. They are basically the same motor. These motors provide the best power/weight and power/size ratio of any brushed motor. These motors have an extremely high RPM and do not like to be stalled since they're actively cooled by an inner fan. When the fan can't rotate because the shaft isn't rotating, the motors will burn out very quickly. These could be used for an elevator, but a CIM or NEO might be a better choice, since elevators (without constant force springs or lots of friction) need to stall to hold the elevator up against gravity. They could also be used in a drivetrain, but again, for high torque applications a CIM or NEO might be better. These motors are very good for things like gamepiece manipulation (intakes/outtakes), flywheels, shooters, etc. These motors are controlled with Talon SRX or Victor SPX motor controllers.
Motor controllers power and control motors. Just as there are two types of motors (brushed and brushless), there are two types of motor controllers. If you're using a brushless motor, you need a brushless motor controller (such as a SPARK MAX) and if you're using a brushed motor, you need a brushed motor controller (such as a Talon SRX). Some motor controllers also offer more features than others, such as follow mode, deadbands, closed loop position control, brake/coast mode, etc, etc. In general, motor controllers have two input leads for 12V DC that get connected to the PDP, two pairs of CAN bus wires for communication, and two output leads that go to the motor. Some also have a port for an encoder for closed-loop control.
These offer the latest in brushed motor control. With absolute and relative magnetic encoder support, motion profiling, very fully featured closed-loop control, and all the features of the Victor SPX, Talons are almost always preferred, except in cost and weight.
The Victor SPX is the next generation of the original Victor SP. The Victor SPX is lighter and smaller than the SP, and also has follow mode, a programmable deadband, and closed-loop control. These motor controllers should be used for brushed motors that don't require encoders.
These fancy motor controllers are cheaper than a Talon SRX but more expensive than a Victor SPX. They're used for controlling brushless motors such as a NEO. They also have a USB C port for testing and tuning without a full control system. If you're using a NEO with this motor controller, you need to plug the NEO encoder wires into the SPARK MAX.
The RoboRIO is the brain of robot, as stupid as that sounds. It's basically a Raspberry Pi with an FPGA and more I/O. The RoboRIO tells motor controllers what to do, as well as the PCM (pneumatics control module), and more. A router is also plugged into the RoboRIO to allow it to communicate over WiFi, and a camera (as well as other USB devices) can also be plugged in.
Power Distribution Panel (PDP)
The PDP distributes power from the robot battery to various robot components such as motor controllers, the roborio, the PCM, the VRM, and more. It's important to note what breaker (40A or 30A) you're putting devices on when using the PDP.
Pneumatics Control Module (PCM)
The PCM is a device used for controlling either 12V or 24V solenoids and the compressor. It's connected via CAN bus, and powered by the PDP.
Voltage Regulator Module (VRM)
The VRM is powered via a dedicated connector on the PDP and provides 12V and 5V outputs for powering the robot radio, custom circuits, light strips, etc, etc.
Compressors are used to charge air-tanks. Most FRC compressors run off 12V DC and must be run off the PCM.
The WPILIB FRC Control System Hardware Overview is a great guide, similar to this one. You can check it out here: https://wpilib.screenstepslive.com/s/currentCS/m/getting_started/l/599672-frc-control-system-hardware-overview