The main every-day difference is with quoting.
"$*" will give you a single string, whereas
"$@" will give you one string per array element.
Code:
$ star_style() { for i in "$*"; do echo "$i"; done; }
$ at_style() { for i in "$@"; do echo "$i"; done; }
$ star_style 1 2 3
1 2 3
$ at_style 1 2 3
1
2
3
Kevin Barry