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
{
    DoTheThing();
}
else
{
    DoTheThing();
}

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();
}