I don't know how to explain it better (a picture would certainly help more), but I'll do my best
If you call SetPosition(x, y), the top-left corner of your shape will move to (x, y).
If you call SetRotation(a), your shape will rotate around its top-left corner.
If you call SetScale(sx, sy), your shape will be stretched around its top-left corner.
So you see, the top-left corner is a special point, because all the transformations that you apply to your shape are made relatively to this point. It is the origin/center of the transformations. And its (local) coordinates are always (0, 0), no matter what transformation you apply to the shape -- because local coordinates are always defined relatively to the top-left corner of the untransformed shape.
What SetCenter does is to choose another point as the origin of transformations.
Let's now take an example. Let's say that you have a square shape of 5x5 pixels, and you call SetCenter(5, 5).
What happens? SetPosition(x, y) will move the bottom-right corner of your shape to (x, y), SetRotation(a) will rotate your shape around its bottom-right corner, and SetScale(sx, sy) will stretch it relatively to its bottom-right corner. So what you did is to change the "hot spot" of the shape to be its bottom-right corner instead of the default top-left corner.