You're digging into a "not so common" subject, so it may be worth spending some time reading Campbell's link if you're so eager to know about JMX. It does not look that difficult after all. At least try the sample application. If you understand what it does, you'll understand when to use it.
Officially, JMX is the API used to "monitor and manage" the system. What it is is a container used to run MBeans. These MBeans report information about the system (and have methods to manage some of it too).
Historically, all the application servers have a JMX interface. Tomcat, JBoss, WebSphere, WebLogic, all have a way to get to the JMX container, which contains hundreds of MBeans running in them. Beginning with Java 5, the JVM itself has a built in container which contains a handful of mbeans, which sun named mxbeans.
In terms of API, besides the mxbeans which now exist in all JVM, starting from Java 5, there isn't really a API standard. All the application servers have different mbeans, with different method calls, and doing things differently.