So why do businesses do this? At the root of the resource decision, there is always the issue of company culture. If your CEO/boss/head honcho promotes a cooperative working environment, what we'll refer to as "new age management," chances are you are going to be over-staffed, at least most of the time. If your top-level manager or big kahuna likes/promotes a more regimented, assembly-line-style, process-oriented workplace, what we'll refer to as "traditional management," chances are you will be under-staffed, for the most part.
Most organizations that opt for traditional management see human resources as an expense, while companies that promote new age management view human resources as an opportunity. There is a key difference there. And, I'm not saying that traditional management ignores the role of the employee in the success of the business. The employees are definitely critical to the success of the firm, but traditional management sees them as a necessity and their payroll as a line item on a monthly expense report. New age management looks at employees as the creative impetus of the company. Without them, the company can't move forward, ideologically or financially.
So, which staffing method is best? Now we're getting into the tough part. Many firms make staffing decisions based on project budgeting and workflow forecasts. I completely understand why they do that, but I disagree that it is always the most effective way to staff a company. If amazing talent comes your way and you are trying to grow your business, hire them.
Putting off a staff increase because you don't see an immediate need for the employee is not a great idea. It makes monetary sense, right now, and that is the bigger problem. Looking at staffing from the "right now" perspective is a terrible idea. Most human resource managers know this and consider it one of the golden rules of hiring. A business with an appropriate and realistic growth forecast can make hiring decisions today that will actually become important months in the future. Ideally, hiring should be done this way because it takes time to get an employee up to speed on company operating practices. Don't hire someone when you need them. Know you're going to need them, and have them ready to get down to business when the time comes.
As to whether or not you should try to under- or over-staff your business, you shouldn't try to do either. You should always seek equilibrium because that's just a sensible business decision. But if you're wondering what kind of company culture you actually have, quantify your workforce versus your actual needs. And there you have it!