Sometimes the sprites show a border (when bilinear filtering and decimal coordinates are involved).
With GL_CLAMP, the color of this border is totally unrelated to the pixels of the sprite, producing a visual artifact.
With GL_CLAMP_TO_EDGE, OpenGL duplicates the adjacent row/column to create the border, so it is invisible to the user.