I don't know if this will help. If you care more about fixing him, solving his problems, and improving his quality of life than he does, you're making yourself responsible for his happiness. You can't win. Even if you give him more than he could ever wish, it's unlikely that it will ever be enough. Instead, he's likely to resent you for "meddling" in his life.
Some people expect that the world owes them a prosperous, easy life and they'll be miserable until that happens. If they can make you clean up their mess, feed them, and give them toys just by throwing temper tantrums, why would they stop? Sometimes, the kindest thing you can do for someone is to let them suffer natural consequences.
I've had to fire people at various times. Sometimes, people just can't/won't do the job. If they aren't capable, maybe they'd be happier in a different career where they could be competent. If they are capable but not willing, maybe they need to learn a difficult life lesson.
As the boss, it's not your job to parent your employees. It's the employee's job to be responsible for himself/herself. As the boss, you communicate your expectations to your employees. Either the employees will meet those expectation, or they can find a new job. It's not heartless, it's the way it is. If an employee has a good attitude and a solid work ethic, you can teach them to do almost anything. If not, they can have all the skill and experience in the world and still never meet expectations. It's not your job to make them better people. That's their job.
(No, I don't have a hat and I don't smoke cigars.)