The default setting for ButtonFunction causes the button to paste its contents at your current notebook selection.
ButtonFunction is used only with the setting Enabled->True either for the individual button, or for the cell which contains it.
With ButtonFunction->f the first argument supplied to f is specified by the setting for ButtonSource, and the second argument by the setting for ButtonData.
Standard Mathematica precedence rules require parentheses in ButtonFunction->(body&).