You don't need to use exit after sending a 'Location' HTTP header, no, but it's commonly done in practice, yes, since you normally don't want any PHP code to be executed after you've made the decision to redirect the user.
EDIT: Just to clarify; calling header() simply adds/sets/replaces an HTTP header in the list of headers that the webserver will send in response to the client.
Naturally, this won't stop PHP from executing the rest of your code. If that's what you want, then you have to tell PHP to stop - namely by using [man]exit/man.