As a software engineer, I've worked at companies that were severely understaffed, even though they had plenty of money to spend on more salaries. Why not hire more people? Not enough qualified applicants, and not enough recruiting help to find the qualified ones. It's hard to find someone who everyone in the existing team and management believes 100% is the perfect fit. Why not just take a risk on some new engineer that may or may not be perfect? Because risk taking is not a quality of enterprise businesses. They'd rather be understaffed than risk having to fire someone. Why not rely more on consultants? Because consultants so often do not communicate well and do not deliver great product. Again, the risk tolerance. This is in my experience the case with any size company, from 10 to 1000.
How to solve this? First hire recruiters (or work with multiple talent agencies). Then set up a good system for vetting and interviewing candidates, so you can go through as many candidates as possible without spending all day on it. Candidates you spend time to interview must already be deemed very capable and promising by some 3rd party service. This way you will not be afraid to spend time interviewing a new recruit. If you do not have a system, you will be afraid to spend time to interview people. So, you will not interview people, because you have more urgent fires to put out.