My experience is that firing is not easily justified unless you break one of the big rules (discrimination, assault, being drunk, etc..). Just firing someone due to poor performance, showing up late, etc... is not easy in a salaried position. Hourly might be different as I don't have as much experience there. Yes, I'd agree layoffs are often silly. But that is the main difference between a layoff and a firing. Layoffs are not about the person or their performance, but about the business. Firings are about the person and you normally need very good documented proof before firing someone (i.e. not showing up for work late once).