The back button is one of the strongest and most pervasive conventions available to developers, yet some fail to use it correctly and see it as a burden rather than a resource. The fact of the matter is all users great and small know it's there. From novice to expert they quickly learn to know and use the back button and taking that away from them in your application, well there is no excuse for it.
The back button has become a usability must by convention; no matter how obvious your navigation is if the user clicks and link on your homepage then wants to go back they are more likely to use the back button than to click a navigation element labelled home, your logo or any of the other ways to get to your home page.
Security, or something
A big offender here is online banking, my back button is always throwing me errors - or worse I don't even get the address bar and navigation stuff. I'm stuck in their little application and have to use it as they dictate. I've heard arguments that this is to make applications more secure. Unfortunately the rhetoric is just that, hot air Not letting me do something useful doesn't make an application more secure, it just means I'm inconvenienced. Most of the time these applications let me right click and use the context menus to go back anyway- so what's the point?
If your security model depends on hiding or not letting me do something useful, you have more serious problems than a back button.
But back doesn't make sense, the process has completed
The back button shouldn't always just show you the previous page. For example if the process is an order, of course it doesn't make sense to allow a user to step back into the ordering process and change details. Show them a page that tells them the order is completed, the details and provide useful links to modify the order - chances are if they've clicked back they want to change something. If not they'll just keep clicking back till they get where they want to be.
Which brings us to our next problem...
Why do I have to hammer the back button to get back and skip some redirect page?
I really hate sites that make me do this and the worst thing is, the back button is normally completely functional otherwise. Make sure if you're using redirects that they're not chained so that back button use is forcing users to click it a few times to get over a hump in the process.
I give my users a link to use
Not nearly good enough. You're in fact acknowledging a problem exists and providing a workaround, but your work around flies in the face of convention and forces users to think - usually after they've tried the back button on autopilot and things didn't work out.
That's just lazy
It all comes down to developer laziness I'm afraid. There is no reason to break the back button it's a navigation convention all sites should encourage by default and it should always just work.