Regardless of how people should do something, you're forced to consider what you know, based on experience, they will do. You're not supposed to go off the road and crash your car, but if you do, hopefully you won't run into concrete dividers because a lot of times those have those plastic drum things filled with water or sand or whatever.
Similarly, when one lane at an intersection gets a red light, the other lane's light doesn't turn green for a second or two, just because people go through yellow lights when they shouldn't and so cars could be in the intersection when the light turns red.
No, back is undo on a certain level of granularity. You need to figure out which actions in your application intuitively correspond to the "back" operation, and make the back button actually do that. Undo could be for a finer grained edits, like edits within a certain "page" of your app.
Seet the new GMail for a perfect example of how it should be done.
@jey: doesn't that mean that the back button isn't an undo button? Those "finer grained edits" are undos. Navigating from page to page is what the back button is about, and thats why well written ajax apps (like gmail) allow the back button to navigate through various elements of a page (inbox, spam...etc)
Or does it? It used to just load your page to the inbox when you hit back cause the pages were built into the ajax app. It shouldn't do that because that limits the actual use of the back button.
Yes, it is technically inaccurate for people to view the back button as an undo. However until new browsers come out that are designed for web applications, this will continue to be an issue regardless. As long as you judiciously use AJAX - only use it to power a true 'app' - you may largely overcome the issue, as people who feel they're working in an application may not be as inclined to hit back when trying to undo.
This is symptomatic of the pervasive ivory tower mentality. Good UI design is about being intuitive for your users. If almost all of your users use the back button as an undo, then make the back button function as an undo, and make it do that well.
This is the same Gmail, "we'll force people to use tags even though they want folders because we think tags are better" mentality that makes non-hackers scratch their heads in wonder.
Similarly, when one lane at an intersection gets a red light, the other lane's light doesn't turn green for a second or two, just because people go through yellow lights when they shouldn't and so cars could be in the intersection when the light turns red.