A human resource is a department that is filled with professionals from people that are good with labor laws, to people that are good with processing papers, to the people that are good at recruiting to the people that know how to make the business running in accordance with the labor laws. Based on the skillsets of the people that are working in the HR dept, they are a necessary department for any company.
Even if you’re a small business you need to have an HR to help keep your business running. They aren't necessary for the operations on how you deal with clients but they are necessary to keep the business running since they are the people that can help you handle your people giving you more focus on the things that mattered which is your business and growing it. But why hire a 3rd party HR service provider anyway when you can always hire one within your payroll?
For cost: Every company would find ways to save a few costs and that is normal. It's not about being greedy but about making sure that you spend on the things that are necessary. This is the reason why 3rd party service providers are becoming popular these past few years and that is because they offer an instant solution to one's needs and if your needs happen to be an HR, they can help provide such a solution as well.
For less headache: There is no perfect company, that is a fact. There will always be people that won't always agree with your vision and your decisions and there are people that are just in it for the money and they aren't getting their dream jobs yet. Although that is a fact, the good thing is that you don't have to deal with those people because HR people will take care of that for you. It doesn't matter if you hire one in your payroll or hire a 3rd party, they will do their jobs.
For easy access to highly skilled professionals: If you're a small company, there will come a point where hiring HR professionals will be necessary as your company will slowly grow. But the question is can you actually afford to hire a very seasoned HR person? You can but experience thus get costly and it will cost you. If you include all the factors above it will cost you more. If you can’t hire one for your payroll there is always that HR company for small businesses provider that you can call to help you with that.
Not all people that you hire you will be on your side all the time. Thus you get a few disagreements and unhappy employees. If you're too busy managing your business and you're sacrificing the time for your people, perhaps its time that you need to hire an HR. If you’re worried about the cost, especially if you need a highly experienced HR personnel, there are 3rd party HR service providers that are out there that will help you with your needs. Just hit them up and tell them what you need.