Why is this an issue?

Having all branches of a switch or if chain with the same implementation indicates a problem.

In the following code:

if (b == 0) {  // Noncompliant
  doOneMoreThing();
} else {
  doOneMoreThing();
}

int b = a > 12 ? 4 : 4;  // Noncompliant

switch (i) {  // Noncompliant
  case 1:
    doSomething();
    break;
  case 2:
    doSomething();
    break;
  case 3:
    doSomething();
    break;
  default:
    doSomething();
}

Either there is a copy-paste error that needs fixing or an unnecessary switch or if chain that needs removing.

Exceptions

This rule does not apply to if chains without else, nor to switch without a default clause.

if(b == 0) {    //no issue, this could have been done on purpose to make the code more readable
  doSomething();
} else if(b == 1) {
  doSomething();
}