Are motor controllers really neccessary?

Are they? I seen IC's that are for controlling DC + servo motors.

But why use them if you can control them with the board?

The current provided by the board pins is much too low to control motors. The current that will flow when you hook up a motor directly to the pins is large enough to destroy the Arduino microcontrollers. Motor drivers convert the low-voltage low-current output of the microcontroller to higher-voltage higher-current needs of the motor.

Now, if you are truly talking about motor controllers (not motor drivers), then they simply off-load some of the work from the microcontroller. You can pretty much do anything a "DC motor controller" can do on your own, but it can be very demanding on the hardware (interrupts, etc.) leaving little time to do other things. It can also get pretty hairy when you try to control multiple motors at once. An external motor controller can make things easier.

-- The QuadRAM shield: add 512 kilobytes of external RAM to your Arduino Mega/Mega2560

For servo motors in particular, drivers aren't at all necessary if you don't require PWM speed control. Just wire up the power and ground lead to a battery pack and the control lead to an Arduino pin.