Just think for a moment about any single object that you encounter on a day to day basis. Pressing keys on a keyboard, turning the wheel in a car, opening a door, trying to open a locked door, tying your shoes, hitting a ball with a paddle, drawing on a whiteboard - literally everything you've ever touched for your entire life has given some form of feedback that allows you to associate action with reaction. Typing on a keyboard works for us because first) we don't need to look and second) we get instant feedback both visually with a character and physically with the key we press down as it immediately pops back up.

In user interfaces, since Windows operating systems have rolled out several editions now, supposed
standards in interaction have been acquired over time. The cursor has become a very important tool for interaction as it relates to its visual context. The difference between the cursor as a pointer and a cursor as a hand could mean the difference between
moving and
clicking. There are certain controls that have been acquired into user interfaces for
standard interactions. For instance, buttons, radiobuttons, comboboxes, listboxes and checkboxes. Toolkits enable us to build interfaces fast but they can limit the possibilities in excellent interaction design for our users, but that's another post.

Feedback, on the other hand is about ensuring that literally anything I do with the interface at hand will react with some form of change in the interface. In user interfaces this could mean, pressing down on input devices, moving devices around, performing gestures, changing context or focus of tasks - literally anything. The absolute worst thing you could do to your users is not respond to their input. The user always, and I mean always, needs to see the change instantaneously - even if the job isn't done yet.