It’s never easy to program a robot to perform a useful task. A person has to first attend a course or pick up some skills from a robotics manufacturer. There’s always a designated person in the factory that is able to program the robot and no one else. This is not true for a human operator as all we have to do is instruct the person to perform the task, and this is possible if you know the task to be accomplished.
Many researchers have worked on Learning by Demonstration and the following video is the work done at Willow Garage where they run trials on normal end-users. The end-users are able to physical move the PR2 to show it how to perform a particular task engaging the robot using speech recognition. This is one of the key things that will bring robots closer to a human centric environment.