Wow, a decent summary of quantum computing on the internet. It's so weird not having to pull out the baseball bat and perform some facial readjustment in a qc thread. Just a little added information. When we refer to qubits as being "both" 0 and 1 at the same time, it's not necessarily a 50/50 split. It is in the form (a+bi)|0> + (c + di)|1>, where |0> refers to the 0 state and |1> to the 1 state. |a+bi| = sqrt(a*a + b*b) is the probability that, if measured in the 0/1 basis, it will result in 0, and |c + di| the probability it will result in 1.
The presence of i (the imaginary number, in case that wasn't clear), is important. Also, you can measure a qubit in any basis, not just 0/1, which is actually vital to the way some quantum algorithms work. (Notably quantum key exchange, which relies on the fact that a potential eavesdropper doesn't know what basis he should be measuring the qubit in.) A good way to imagine a single qubit is a bloch sphere. Imagine a sphere, where straight up is 0, and straight down is 1. Anything on the equator is a 50/50 superposition of 0 and 1.
Also, to say that quantum computers are more "efficient" than classical computers isn't quite precise enough for my tastes. It's not that they're capable of doing the same things as a classical computer can, just faster. It's that they're able to do things classical computers simply cannot do due to the way superposition works. And those things allow it to solve a number of problems more efficiently.