I personally think that Java checked exceptions are a good idea, but they had two primary downfalls:
1. try/catches are verbose and annoying to deal with due to scoping
2. The easy route of dealing with the exceptions was often the wrong route (wrapping them in an unchecked exception, or doing nothing). Programmers got in the habit of simply wrapping everything in try/catches