This answer is a bit different from the others. The other questions deal with what a postdoc is. My answer the difference between what grad students and postdocs are in two ways.
The first distinction is this: A graduate student is an apprentice, while a postdoc is a journeyman.
The academic system in which a student earns a doctorate and eventually becomes an academic is based on the apprenticeship system.
The graduate student is the apprentice . The graduate student is learning his or her craft from the adviser (master). The graduate student hones his or her research skills performing the research of the adviser. Completion of the PhD defense signals that the student has completed the apprenticeship.
The post-doctoral fellow is the journeyman, one who has completed training in the basic skills, but is not yet considered a master. To this end, the postdoc seeks out other masters to learn from. Since the postdoc is not an apprentice, the postdoc is given more freedom to design and implement his or her project. The postdoc is also expected to be able to work with minimal oversight from the adviser. A postdoc journeyman becomes a master upon successfully securing his or her own academic position.
The second distinction is in terms of classification and compensation. At most US institutions, the graduate student is a student. The grad student may receive a stipend and benefits, but someone pays tuition for that student. A postdoc is an employee who receives a salary and benefits. No money is paid back to the institution by (or on behalf of) the postdoc.