My Samsung S2 step counter undercounts by about 10% in any kind of walking.
It tends to freeze for short periods. Any steps taken in that time are lost.
It must be doing something in the background when the counter freezes but I don't know what.
The update that is mentioned here, does that...