Parentheses are needed arguments, while brackets are optional.

/spectate (player)spectate.onPuts you into spectate mode which allows you to watch the target player.
/spectate offspectate.offTakes you out of spectate mode and returns you back to your original state.
/spectate mode [default/scroll]spectate.modeChanges your spectate mode. The default mode is normal spectating, and the scroll mode allows you to switch between players by right and left clicking.
/spectate angle [firstperson/thirdperson/thirdpersonfront/freeroam]spectate.angleChanges your spectate angle.
/spectate scan (interval)spectate.scanPuts you into scan mode, which changes the player you're spectating every few seconds, defined in the interval.
/spectate helpspectate.helpShows the help.
/spectate reloadOPReloads the spectate config.
(Permission Only)spectate.cantspectateHaving this permission stops anyone from spectating you. You must enable this permission in the config for it to work.