If someone goes to your product or website for a specific reason, make sure that you know the reason for their visit and the user can confirm they are in the right place, instantly.
Don't overwhelm people
Humans can (consciously) only process small amounts of information at a time, so if you don't quickly make your point, their attention wanders. My favorite technique for not overwhelming people is progressive disclosure. That's a fancy way to describe showing only a tiny bit of information at a time so people don't become overwhelmed and confused. Here's a fantastic example.
Only present a few choices at a time
This is directly related to #2. Studies show that if you give people too many choices, they will "make no choice at all. So, it's often better to remove features rather than add them. Why not focus on creating the minimum viable product, get it to market, then improve on it (or trash it completely in favor of a better solution)? Constantly adding features only ensures your product will never be complete and you'll run out of money, all while confusing the heck out of intended users.
No jargon or compu-speak
Talk to people like they are human, and don't mire yourself in jargon. For example, rather than just label a form "Email," how about making the label a bit more personal or in-brand? Wufoo does a great job with their form labels: "Enter your email address so we can get a hold of you. Don't worry. This info is sacred to us. We won't ever sell or abuse it."
Consider the abilities of different users
Dr. Jennifer Romano-Bergstrom has done some fascinating research on differences in website usability performance based on users' ages. One thing I found particularly interesting is that older users tend to ignore content that is located in the periphery of a website. Take into account these differences and make sure your product accounts for them.
Clarity in visual design is critical for simplicity. Users assess the credibility of something very quickly, so if there isn't a clear visual hierarchy, people will get confused. But keep in mind, just because something looks simple, doesn't mean it is simple.
Understand the problem
Mads Kristensen put it best when he said, "… if you cannot take a step back and get a good feeling for the problem, then you don't understand it enough to see a simple solution … If you don't understand the problem you are trying to solve, then you probably cannot solve it."
It's been tested
If someone doesn't want to test something, that person is probably cowardly, lazy, or arrogant (and don't let them play the budget card, you can test things for next to nothing). Creation and objectivity usually don't go hand in hand. You have to test with users.
Account for context
How you use something differs greatly depending on the time of day, your location, and your culture. For example, try to think how someone might use your product while in a hurry, or perhaps on an iPhone, or while sharing it with a friend. They might also use it completely differently the second time than the first. Time of day, repetition, cultural nuances, and location all drive the context of how your product will be used. Understand it, it's important.
It's not just usable
Just because someone can complete a task, doesn't mean it was a pleasant or easy experience. Be careful not to put too much emphasis on task completion at the expense of a good experience.