Your first question is pretty broad as it lumps motor drivers and controllers together with servo controllers and ESCs, and different manufacturers might have slightly different terms or definitions. Specific differences will also vary between particular devices. Some information about the general differences in the way we designate between drivers and controllers can be found on the "Motion Control Modules" section of our website.
To summarize, the difference between our motor drivers and motor controllers is essentially what kind of signal they accept. Drivers are typically simple modules that accept low-level control signals (e.g. PWM and direction) from the user, while controllers have an on-board microcontroller to handle the low-level signals and accept high-level signals from the user (e.g. TTL serial signals or USB communication). Some of our motor controllers also offer more complex features as well, such as acceleration limiting, current sensing, feedback-based-control, and limit switch support.
As far as controlling servos, our Maestro USB Servo Controllers have an on-board microcontroller (like a motor controller) and can be used as a stand-alone device to control servos (via a user-made script stored on the device) or together with a computer or separate microcontroller via USB or serial commands. They do not accept hobby RC signals like an ESC.
All of these devices can be suitable for a hobby robotics project, which one is most appropriate will depend on what the project consists of, how you want to implement different features/functions, and how you want to do it. If you can post details about your project, we might have some suggestions.