Consistency is a seemingly simple principle: the design should match the expectations the users might have developed by interacting with similar products in similar situations. Consistency is also one of the hardest design principles to apply right in practice because as soon as you try to use it, the question arises: "consistent with what?".
For example, when designing a product to run on different platforms (e.g., Mozilla web browser for Windows and Mac), should the designs of the interfaces on different platforms be consistent with other products on those platforms or with each other? On Windows, it used to be customary to access the Preferences pane of any application through the Edit menu. On Mac, the Preferences menu item typically lives under the first menu item (the one named after the product). Designers of the Mozilla web browsers, like many others, chose to make the designs consistent with platform standards, thus making it easier for a user of that platform to learn a new program. But this came at a cost: users familiar with Mozilla on Windows, would have trouble finding some of the features if accessing the same program on a friend's Mac, and vice versa.
Early academic discourse equated consistency with constancy, but in his 1989 paper (see below), Jonathan Grudin argued eloquently that a well-designed product should be consistent with a user's mental model and expectations, which may actually lead to different designs for similar elements depending on context.