Presumably, you'd want:

echo "usage: ${SCRIPT_NAME} [-u] [-p target-file] preferenceName [value]" >&2

nit: Don't need a semicolon at the end of the line
nit: Add a space before >&2
nit: No ... (since you can't parse it properly anyways)