If you build a robot, you WILL need some robot motors to make it move. For that, the 3 main choices are servo, DC and stepper motors. They all have pros and cons, and you may even use the 3 of them in one single project one day.
First, the right questions to ask when you choose your motors are:
For the last question, you'll either choose a motor and then find a way to control it, but you'll also often already have the controller and will look for motors that fit in.
Here are my robot motors recommandation from Amazon.
A servo is the perfect motor to control small articulation. They are usually rather small, and are often used in cheap robot arms and small legged robots.
Most servos are controlled in position, and constrained to an angle of 180°. It's perfect most robot arm kits, humanoid robots, hands/grippers, legged robots and many other projects. You can also use them to open/close something, etc...
Servos can also be bought (or modified) to be controlled in speed, with continuous rotation, and is a very easy way to control wheels.
The best advantage of servos are that they are so easy to control. They are the only robot motors whose power supply is independant from the control. So you can have a power source for all the motors, and then just connect their signal wire to your microcontroller like Arduino. Small servos can even be plugged right onto your Arduino.
The cons is that they are kind either weak or expensive. So don't think you can carry big objects with it. Stronger servos are really expensive.
The standard servos are around $10, more expensive than DC motors, but less than steppers.
Left to Right: Servo, small stepper, DC
DC Motors are the cheapest motors, worth only 1 or 2 US dollars. They are controlled in speed only, and are perfect to control wheels and fans in small projects.
Bigger DC motors are also used in bigger projects, especially airplanes and helicopters, or of course bigger wheeled robots.
The problem is that their speed is proportional to the voltage they use, and they draw too much current to be plugged simply into your microcontroller. So you will need at least some transistors that you use to switch them on or off with your microcontroller. But most people use an H-Bridge that makes the job a little easier. You can buy the H-Bridge, or a complete motor driver for these.
Another thing is you will most likely need to have some gears since they turn really fast. You can get cool gearboxes with 3V DC motors from Tamiya.
You can't control them in position, and they are not so accurate, so if you need to know where you are at each instant, you will need something better.
Stepper motors are usually more expansive, bigger, and harder to control than the other 2 alternatives.
On the other hand, they are also more accurate, have more torque, and are more reliable than these robot motors.
You will need a motor controller to tame your stepper, but in exchange, you gain high accuracy and torque. That's the difference between a robot bringing you a pen (with servos), and one bringing you a beer. That's also the difference between a robot following a line (with DC), and one solving a maze.
I use Arduino with a motor controller for my projects
Most likely, this motor is not your entry choice for robotics, but if you are serious and want to make great robots, you will definitely need one in the future.
Most commercial robots use these motors too.
Don't forget to check my Amazon recommendations at the top.
As a little conclusion, remember that these are but a small choice of what you can use. You can power a paper airplane with a rubber band, launch a rocket with a water bottle, control a tea serving robot with only one motor, and use hydraulic actuators for high-power and compliant robots like the BigDog Robot.
How to choose your first robot?. Need help sorting the options for your first robot? This is the best guide to choose it.
Learn the basics of robot programming. What's the difference between a PC and microcontroller? How can you structure the AI of your robot like a pro? The answer is here.