I have the same luck as everyone here finding good prospects, but once I find one I know how to keep him/her. I offer health insurance, retirement, paid vacation, I give yearly bonuses, and I trat them fair. I make sure to tell them when they have done well. I challenge their minds and their backs. I admit when I sctrew up. And, I cut them some slack when they screw up and work to fix it the next time.
I was really struggling three years ago with this issue, but then I decided to change my attitude. A good guy is more valuable than anything else in this business so I'll do whatever it takes to get and keep them. Once I have them my quality consistency and reliability all improve. Then I can raise my prices. I'm one of the more expensive landscapers in our area, and the price is increasing all the time.