The 'No Dead Ends' Principle

At work we are trying out some new enterprise software. Supposedly, the vendors spends oodles of money on usability testing; however, I find it hard to tell. Case in point, their interface for adding and removing favorites.

In concept, its simple to think that since one needs to be able to both add and remove items, showing both buttons would be a necessity. However, taking a moment to probe deeper, one should intuit that items will only need to be either added or removed, never both. The vendor's software fails to make this realization. Consequently, there is always one button that works and one that slaps the user in the face with an error dialog.

When displaying options, do not show (or perhaps only disable) items that do nothing or throw errors. Highways don't have off-ramps to cliffs and you don't put a door in a house that can't be opened.