Not that I like checked exceptions at all, but...
Checked exceptions in java are a very BAD thing, causing programmers not to think about what they catch, so often they catch Every exception, resulting in exceptions that essentially have an empty block as error handling code, or just get logged.
Meanwhile, traditional programming means validating error codes. If you don't do that (check return codes), you are, simply put, not worthy to demand your salary.
Surely checked exceptions and return values have the same affect at this level. A competent developer will handle all the exceptions just like a competent developer would handle all the error codes. The error code approach offers no advantage over checked exceptions apart from the fact that it's easier to ignore error codes - which as you say is not a good approach.
java is one of very FEW languages that has them
I don't think anything apart from Java supports them - which is probably an indicator of their general utility ;-)