What motor to use for a robotic arm?

Hi everyone! I'm new to the technical aspects of arduino and making machines; I just wanted to know which type of motor to use for a robotic arm of length 40-50 cm with three joints.
Some say DC motor, some stepper and servo. I would just like clarification on what's most effective and useful.
Thanks.

Have you searched google and youtube for arms of similar make and size you desire?

motors will be unsuitable for what you want stepper motors or servos will work but servos should be the better option

I would suggest getting one cheap servo and messing with it then move on

munch15a:
I would suggest getting one cheap servo and messing with it then move on

Danger of that though, is that servos come in a few different form factors. It would be a big shame to build an arm to take micro servos to experiment, only to find in real life that there's no micro servo with enough torque or speed. So it's better to do some sums first..... it might turn out that only a standard servo will do the job and the arm can accommodate it from the drawing board.

Give us a bit more mechanical detail please - basic accuracy, weight of arm, desired max loading,
speed of movement - some numbers please...

In response to your inquiry MarkT,

Accuracy wouldn't be a problem (as long as it's not too bad!). Weight of arm would be around 1 kilogram. Desired max loading would stand at approximately 500g (nothing too much; this is a recreational build). And the speed of movement doesn't matter.

That's well beyond small servos. 50cm long and 1kg is 5Nm of torque (50 kgf-cm of course).
Small geared down motor with integral encoder is one possibility, geared-down small stepper
is another. Gearing can mean toothed belt+sprockets, not just gearbox. Belts can also
be used to allow mounting of motors back at the arm pivot so they don't contribute to arm mass.