Its a built in safety to stop the phone from overcharging... Plus a bug too in the OS's from day one... My Epic 4g would get 100% some times, but almost instantly drop to 95%.... Most of the time it would hit 95 or 96% and call it a full charge...
My Nexus stops at 91% or 94% often and considers that a full charge...