What's the worst part of your job? Firing people. Unless you're a horrible person, it sucks to fire people, especially nice people (it's easy to fire incompetent and lazy people). You make them feel like losers. You screw up their lives for a while. You embarrass them and kick them out of the club. But you have to do it. And the sooner the better. Why? Because they'll drag the rest of your company down.
I'm not talking about employees who are dishonest, unreliable, or incompetent. Of course you should fire them. I'm talking about firing employees who are just mediocre. Employees who show up every day, but don't really impress you or your clients. Employees who do what they are asked to do, but little more--and without any particular passion or gumption. Employees who don't demonstrate that they want to succeed, to impress you, to drive the company forward. Employees who are, in short, dead wood.
Why do you have to fire these folks? Because, slowly but surely, they'll destroy your morale. They'll make the folks who are knocking themselves out every day wonder why they bother. They'll make merely working at your company seem less like a privilege and more like a right. They'll take the "A" performance of your best employees and drag your overall company down to a "B" (or worse).
Yes, it will suck to fire these folks. But you owe it to yourself and the rest of your employees to do it immediately.