The rotation modifier rotates the primitive around the macro center (origin), not the primitive center. In that respect it is not completely pointless in the spec.
A circle with center at (0, 10) rotated 90 degree would result in a circle with the same radius and center (10, 0).
Yes, although not strictly necessary as rotating a circle is just a matter of rotating its center, they probably added it to make all the primitives have a rotation parameter, for consistency; but it's still optional for the circle, whereas it's not stated as optional for the other primitives (probably for backward compatibility). Since there was no clear concept (as far as I remember anyway) of optional modifiers in earlier revisions of the spec, many CAM software developers probably have assumed the number of modifiers was fixed for each primitive. This is what I did to ensure the Gerber files were correctly formed.
According to the revision history, "The mistakenly omitted rotation parameter of the circle macro primitive was restored." in
revision 2015.06 of the spec.
For Gerber generators, I suggest still omitting this modifier for now (especially if you don't use rotation) to ensure maximum compatibility with all current CAM software.
As I suggested, you may add some kind of user option to generate older or newer Gerber to be more flexible. Apart from this modifier, a lot has been added or marked as deprecated in newer revisions, so this would be good to be able to generate Gerber files fully compliant to the latest revision, but keeping the optional possibility of using an older revision just to be safe.