Employee: Does what the boss says, and works when the boss wants them to work.
Contractor: Does what the client asks them to do, but has the flexibility to do it on their own schedule and according to their own way. In the US, the IRS may want to reclassify you as an employee if you dictate too much of how the work is done.
Consultant: They review what the client is doing and recommends what they should be doing, often performing that work too. The key difference to me is the client accepts they may not be the most knowledgeable in what change they want to make.
To give examples for programmers:
Employee: works on a app in the office from 9-5 adding the features requested.
Contractor: adds requested features to the app.
Consultant: reviews the app and proposes some features to add.