In the simple case, it does not matter.
If some of the options need quoting, consider:
options=(-j 5 "Hello, World" -B)
make "${options[@]}" file
The four elements are quoted properly in the array initialisation, and the array substitution leaves them correctly as distinct words.
The one-step substitution can't be fixed with partial quotes (even with single quotes around the string). It comes out as either one option, or five: never four.
paul $ options="-j 5 'Hello, World' -B"
paul $ declare -p options
declare -- options="-j 5 'Hello, World' -B"
paul $ printf '%s\n' $options
-j
5
'Hello,
World'
-B
$ printf '%s\n' "$options"
-j 5 'Hello, World' -B
$
Compared to:
paul $ options=(-j 5 "Hello, World" -B)
paul $ declare -p options
declare -a options='([0]="-j" [1]="5" [2]="Hello, World" [3]="-B")'
paul $ printf '%s\n' "${options[@]}"
-j
5
Hello, World
-B
paul $