I think the difference is one of autonomy. Both are machines designed for specific tasks, but how the task gets accomplished separates the two.
Case in point: Vacuum cleaner vs. Roomba. Even a vacuum as advanced as a 'Dyson' is just a machine; someone has to guide it around. It just sucks...really well.
By contrast, the Roomba is a robot; It has the same task, but is autonomous in its operation. The user can set the time of day, then forget it. The Roomba accomplishes its task according to a predefined set of parameters but does not require human intervention beyond initial setup and periodical emptying.