You have a number of options. With any vision application, your physical conditions (lighting, shadows, dimension of the visual field, etc) will drive your vision system design.
The complexity of your your correction will also be a factor. For example, if you're welding parts that are lying on a table and only need to correct positionally along the surface of the table, and maybe rotate around the vertical axis, you could get away with using one camera. For more complex corrections and rotations in/around all three spatial axes, you might need multiple cameras, or multiple shots with a single camera from multiple locations, or even multi-camera stereo vision. The complexity increases geometrically.
Then there's the question of integrating the system to your robot. That gets into a whole laundry list of compatibility issues, and questions of just how much time, money, and skill you have to apply to developing the solution. I recommend finding a reputable vision vendor or integrator and getting an estimate so as to establish a baseline.
If you really want to try it on your own, here's a fairly typical Cognex camera that I know does good work:
http://cgi.ebay.com/Cognex-automation-camera-vision-system-intergration_W0QQitemZ190350253898QQcmdZViewItemQQptZLH_DefaultDomain_0?hash=item2c51c25f4a. But there's no way know if the lens is correct for your application. In the vision biz, lenses can easily cost much more than the cameras they're attached to.
And to
program the camera, you'll have to have the Cognex Insight software, and learn how to use it. The Cognex cameras are pretty good, overall, and aren't too hard to use, but it does take work to learn how to program them properly.
Then there's integrating the camera to your robot. First you have to find a workable data connection on both ends, which might not be as simple as it sounds. If your robot supports basic "pseudo-telnet" TCP/IP data string transfers, at least some of the Cognex Insight cameras support it. Then you have to translate the data into the robot's frame of reference, which generally means setting up some kind of calibration process for the camera.