To expand on John S' answer, I would add this: there are differences in the connotations of the words. A "caretaker" is simply that - someone hired to take care of 'x', whatever 'x' may be ... person, place, or thing. They are paid to do so and would have little true concern for their charge much beyond doing a good enough job to maintain their position. I picture someone managing property or an estate when I hear the term "caretaker."
A "caregiver", on the other hand, gives the impression that the person takes a more vested interest in what they do. There is more of an implication of genuine care and concern expressed in the way in which they treat the person entrusted to them - more of a role of service rather than merely a job. Doctors, nurses, physical therapists, etc. - these come to mind when I think of "caregivers."