I think you meant "if statement", or at least I hope you did.
A switch statement is useful for comparing a variable to specific values. An if statement allows a much wider range of tests to be made. A good example is testing for a valid integer from 0 to 100. "if (n>=0 && n<=100)" is easy to code and easy to understand, while the switch implementation of that would require 101 case values to list all the possible acceptable values.
Occasionally, switch is more concise and easier to modify. That's not the reason it exists, though. The reason to use switch is for execution speed in situations where the case values are close enough together to use a branch table instead of a series of comparisons. It's possible to program a compiler to do that with if statements, and maybe some compilers actually do that these days, but pretty much any compiler will generate faster branch-table code on a switch statement, whenever possible.