As I mentioned above, the break is very important. Without it the program will "crash into" the case immediately below. This is not regarded as an error by the C compiler. It is even possible to do cunning things like this if you actually want to merge two cases, but I do not recommend this as an approach.
If you look at the CPIC on the right you will see what happens. Once the code for the value 3 (which is what the control value held when the switch started) has been obeyed the program continues and performs the code for case 4. Only when the break in this case is reached does the switch actually finish.
This can be the cause of nasty bugs in your programs, since the compiler will not tell you that you have missed a break out. Instead it will just produce code which works incorrectly. For this reason I don't tend to use the switch that often, but I do find it useful with state machines.
One nice thing with switches is that it is very easy to add new behaviours. You just have to implement new cases. In the example of my program menu given above it is very easy to add new commands.