This is a really tough topic.... we've all known straight-up 'good people' who couldn't cut the mustard day to day in the position that they, for whatever reason, hold.
Going back to Ari's OP:
"Sometimes, it's a matter of them just not being able to understand, but sometimes, it seems to be laziness or lack of motivation."
The bolded section has two participant types of people - those that simply lack the intellect to understand, and those that you aren't reaching so that they are able to understand.
First one's easy: why did you hire this person in the first place?
Second one's not so easy: maybe you aren't the teacher you imagine yourself to be. Maybe the employee aint gettin' it cuz you aint splainin' stuff in a manner that can be received by this employee?
Really smart people sometimes fall victim to dismissing those that don't grasp what they can easily grasp. Teaching is tougher (and goes deeper) than simply telling. Some people have to be shown the obvious - while most scoff at this because it's so damn obvious to them. If you've hired this person, why give up on them without fighting to keep them?
And if it's laziness or lack of motivation (and not lack of positive attitude), well maybe you can do something about that too.... you hired this person. Why? Motivate them.
NOTE: I am purposefully taking the devils advocate approach here. Some people simply got to go. Nobody is batting 1.000 on hiring and there are a lot of people that can fool you during the interview process.
But you gotta fight for your people. Even if you fail individually, your other people see how you fight for them.