You have to remember, you're dealing with real devices. In a perfect world, a control signal will have an effect, no matter how small. In the real world, control signals smaller than some threshold value don't do anything at all. (Imagine a chihuahua trying to pull a Mack truck.)
In a proportional control system, the control signal is the error multiplied by the control gain. To prevent overshoot, instability, and other Bad Things, you make the gain small.
As your plant (controlled system) gets closer and closer to the desired value, the error gets smaller and smaller. When you multiply a smaller and smaller error by a small gain, eventually the product gets too small to have any effect, and is truncated to zero.
That's your steady state error, the region around the desired output where the product of the error and the gain is too small to register.
After whatsisname's downvote, I thought back. He's right. I was confusing "dead band" with "steady state error".
If you have a constant perturbing force (for lack of a better term), and you are using a PI controller, there will be some point at which the control signal (product of error and gain) exactly balances the perturbing force. At this point, the plant (system being controlled) experiences zero net force: the perturbing force and the correction cancel each other, and the plant just sits there, with a constant error, the error generating the signal to cancel out the perturbing force.
The first-level fix is to go to a PI controller, one that not only produces a correction based on the error, but also based in the integral over time of the error. The integral term is what "notices" the steady state error and moves to correct it.
The catch is that a PI controller can have overshoot problems. There are no silver bullets.