I agree that the Unchecked exceptions are checked part is really misleading. The better interpretation would be to divide all Java throwables into three categories:
- Checked exceptions
- Runtime exceptions
- Errors
I personally prefer to think of Checked exceptions as something obligatory to catch in the code, and Runtime exceptions - as something optional to catch. You can process both (e.g. for logging), but you should try to recover just from the Checked ones.
Checked exceptions tend to introduce lots of redundant catch clauses. In some cases it could make sense to catch a Checked exception, wrap it in some Unchecked one and propagate it further.
Always keep in mind Item 41 from Effective Java: Avoid unnecessary use of checked exceptions. In other words, don't use checked exceptions for conditions from which the caller could not possibly recover, or for which the only foreseeable response would be for the program to exit.