Brent Simmons has been on an incredible roll recently on his weblog, covering little inconsistencies and frustrations in the Mac OS X interface that have confronted him as he has been working to build his applications.
The point, to me, isn't that Apple sucks, or that any vendor sucks — they all do this. The point is that a lot of what goes into make a good experience with a software application is knowing that, even within a company that's known for being militant about its user experience, there might be half a dozen different ways to do the same thing. And that some percentage of your users will expect you to conform to the expectations set by each of those implementations.
I've seen this a lot in the work we do at Six Apart, because people use our tools on a variety of different operating systems and platforms. Some people never even see our applications, if they send in posts via email or from a posting client. And some administrators want to have a consistent experience, whether they're installing an app on a Windows laptop or on a Linux server.
What's amazing isn't that people have such a wide variety of expectations. The amazing part is that sane people can see three different ways to do the same thing, and want to still keep making applications. It just goes to show how addictive software can be.