MoveIt is largely a replacement for the Arm Navigation stack of packages. It is primarily intended to be used on serial manipulators, such as the PR2's arms or industrial robots.
It contains much of the same functionality:
- forward and inverse kinematics
- motion planning (with constraints)
- collision avoidance
- grasp planning
And adds a few new capabilities:
- benchmarking
- reachability / manipulability analysis
- real-time collision monitoring and reaction
But, one of the main goals of MoveIt was to improve some of the architecture over the previous arm navigation design. MoveIt is designed primarily as a single node, where the various components interconnect via a set of plugin interfaces. This design can give noticeably faster performance in planning tasks, since it eliminates the communication overhead between the various nodes in the arm navigation stack. Another key design goal was to implement most of the core MoveIt functionality as a set of ROS-independent C++ libraries. This allows these components to be directly integrated in your application, if that architecture works better.
You can find out a lot more by exploring the MoveIt Wiki and asking questions on their user group. But, hopefully, this will give you a good overview. My personal opinion is that, if your robot is a simple 2-wheel mobile robot (like a Roomba, turtlebot, or Pioneer), then MoveIt's probably not the right interface for you.