Вы можете делать всевозможные интересные вещи с провалом case.
Например, скажем, вы хотите сделать конкретное действие для всех случаев, но в определенном случае вы хотите сделать это действие плюс что-то другое. Использование оператора switch с провалом сделало бы его довольно простым.
switch (someValue)
{
case extendedActionValue:
// do extended action here, falls through to normal action
case normalActionValue:
case otherNormalActionValue:
// do normal action here
break;
}
Конечно, в конце случая легко забыть оператор break
и вызвать неожиданное поведение. Хорошие компиляторы будут предупреждать вас, когда вы опускаете оператор break.