First, you aren't doing anybody any favors by keeping around an employee who is screwing up. Your first obligation is to the company. Also, this person may not even really want to work there deep down and needs a kick in the ass to get them to another job/career that they will ultimately be more happy. It sucks if they have a family. I try and work more with these people.
Now, I don't know what kind of work you do but in almost any job today, there are certain HR guidelines you have to follow before termination. I have a few different companies and had to have attorneys set this up for me. So, yes, have as much documentation as possible--written warnings, a plan to get them on track with a timeline. If they don't meet the agreed-upon expectations--then you have the right to fire them.
I could really go in depth but it would take too long. Good luck.