“It’s better to burn out than to fade away”
As mentioned, high level execs do it all the time, often citing that they’ve “Taken the company as far as they could.” Which is more often, I’m going to to be kicked out anyway, so might as well leave before it really hits the fan!
From the employee’s standpoint, as stated above, as far as future employment opportunities go, it’s almost always better to resign rather than getting fired. When you fill out a pre-employment form, when you list your employment history, you usually have to explain why you’re no longer with your former employer(s). I’ve put “Left for personal reasons” for some of my former jobs and while the interviewer would usually ask for more details, I have a chance to give more details than I could write out.
From the employer’s standpoint, the major reason (at least in the U.S.) is that if you resign, unless there’s a really good reason (e.g. harassment, unfair practices, negative favoritism, etc.), you resigned, you likely won’t be able to receive unemployment benefits.
If you’re fired, in general you’ll be able to receive unemployment benefits unless you deliberately misconducted yourself, e.g. continually late for work, refusal to listen to your supervisor/manager or threatened/harmed someone in the company.
When you receive unemployment, in some states, the employer’s unemployment tax rate goes up to replenish the benefits given to the former employee.
Fortunately, for the employer, if they fire someone for misconduct and can provide proof (i.e. written reprimands), they can fight a former employee’s UI claim.