Visual SLAM is Visual Simultaneous Location And Mapping, i.e. while you explore an unknown environment, you create a 3D or 2D map using a camera, while you also try to guess what is your location relative to it.
Visual Odometry is like ordinary odometry (compute actual velocity and position), but computed using visual features instead of physical encoders or IMU sensors.
Often Visual Odometry can be integrated into Visual SLAM to provide localization guesses while the latter can correct accumulated odometry errors when the robot is relocalized inside the map.
I hope I explained well in poor English, if you need some more informations, you can take a look
here.
Bye
~Guido