I currently support legacy software that uses JMF to integrate a web camera into a Java based kiosk software.
While it is neat to play around with if you are learning, I would highly recommend against using it in any production application you are planning. The following are a number of drawbacks:
It is a Dead Project
It hasn't been active for over 5 years now, meaning that there could be compatibility issues in future versions of the operating system that make it completely incompatible. Further, any bugs that you might run into will never be fixed.
It is Closed Source
Even if you encounter a bug and feel adventurous enough to try and fix it, you will not be able to because it is closed source and Oracle has no intention of distributing it.
It is Old
It is painfully old and really is only a good solution for a Windows environment. Perhaps you would like to run your application on a Mac or Linux, it wouldn't work very well as support for these is lacking.
It must be installed on the client
There are a number of binaries that must be installed on the client machine for it to work correctly, other libraries don't require this.
Knowing all of that I will say that I have tried JMF on a vast number of web cameras, integrated and standalone and it was perfectly compatible with them (on Windows). I have never once encountered a webcam that it wasn't able to recognize or use.
There is the FMJ project which is an open source replacement for JMF, however it seemed a bit buggy to me and I had trouble getting it to work correctly. It does not appear to be fully featured.
My personal recommendation is JavaCV. It is an open source Java wrapper to the popular OpenCV framework, which wraps functionality for media devices and hardware accelerated media allowing this functionality to be easily used within a Java application that is truly Write Once, Run Anywhere.
Without having to install OpenCV, I was able to write a Java WebStart application (with full permissions of course) to utilize a webcam on multiple operating systems. The learning curve is a bit higher though.
While JMF is easy to get started with and has a lower learning curve, JavaCV is far and away the better choice for webcam integration and capture in a Java application.