1. You can draw pictures on it (by writing a subclass and implementing "paintComponent()"). If you draw on a JPanel, and add the JPanel to one area some larger container like a JFrame, then you can draw on just one area of the larger container.
2. You can use it as a container to hold buttons and other things (by adding it to a JFrame, JScrollPane, JTabbedPane, or other container, and adding the buttons and things to the JPanel.) This kind of "hierarchical" layout lets you achieve all sorts of interesing effects.
I'll move this to our Swing/AWT forum for further discussion.