Monte Carlo localization is just another name for a particle filter. Monte Carlo methods are a broader name for computational algorithms that rely on random sampling. A particle filter is a specific application of the general Monte Carlo method for localization, and so it is simply referred to sometimes as Monte Carlo localization.
If you ask Lord Google, he'll tell you everything you want to know:
http://en.wikipedia.org/wiki/Monte_Carlo_localization
Sebastian Thrun has a great book called Probabilistic Robotics that talks about MCL (Monte Carlo Localization) if you're interested in something more formal.
Edit: I just read the amcl rosnode wiki page and it actually mentions pretty much exactly what I've said here...I'm sure if you just read the node's wiki page you'll find your answers.
The amcl rosnode currently works with laser range data (i.e. from a LIDAR), so you'll have to extend it if you want to take advantage of a Kinect. It seems like you'll need some form of sensor measurement, as opposed to pure odometry. You could combine the odometry readings from the wheels & the visual odometry in a Kalman Filter, but with no sensor readings to update your position and fix errors based on a map, you'll just accumulate error and you'd have no sensor update in your MCL. You should be able to generate range data using the Kinect for the purpose of applying it as the sensor update in the MCL algorithm, and it might even be possible to publish this as laser data in ROS if you reformat it. This would allow you to interface directly with the existing amcl package.