The calling program (usually a OS shell) can gather the return code and know if the program failed or not.
Having a single exit point from a program makes a good place to put a breakpoint.
Having a single execution flow makes it easier to follow a program if you're unfamiliar with it.