Probably the biggest reason is apathy. But that's understandable. Our electoral system is neither representative nor democratic. For example, in a presidential election, democrats who live in red states get virtually no say, and vice versa. We don't elect our president by popular vote. Check out the electoral systems in other countries around the world. You'll find that when people believe their vote matters, they show up to cast their vote.
Also, in response to some of the other comments, there is nothing wrong with complaining about the way the system works. That's better than resigning yourself to it. But it's also important to take action to solve the problems. This is the step too many Americans are failing to take. If you don't vote because you believe your vote doesn't count for anything, get together with some other people of the same opinion and do something about it.