Why is this an issue?

switch can contain a default clause for various reasons: to handle unexpected values, to show that all the cases were properly considered, etc.

For readability purposes, to help a developer quickly spot the default behavior of a switch statement, it is recommended to put the default clause at the end of the switch statement.

This rule raises an issue if the default clause is not the last one of the switch's cases.

switch (param) {
  case 0:
    doSomething();
    break;
  default: // Noncompliant: default clause should be the last one
    error();
    break;
  case 1:
    doSomethingElse();
    break;
}