The suites are there so you can configure any set of classes that you want to run together.
You might want to created different suites for unit tests and integration tests. Maybe you'd like to have tests that run on each save as opposed to tests that run on each build, etc.
JUnit runs tests using a Runner. A Suite is a type of Runner that runs all the classes that are defined to be part of the Suite. Since this is a Java class, you can sub class it and add more functionality to it.
Categories, for instance, are an enhancement of Suite, which allows you to declare tests as belonging to different categories, and then you can run only specific categories (e.g. slow tests vs. fast tests, etc.).
Since Suites are tests by themselves, they can contain other Suites, thus creating a hierarchical structure of tests.