Do you mean the ::: syntax? It's because it's easier to type
parallel echo ::: 1 2 3
Than it is to type:
printf '1\n2\n3\n' | parallel echo
If you mean the -I option, you might sometimes want to pass {} in an argument to a program, which would conflict with parallel replacing {} with an input value; so you can change the replacement string to something else if you need to.
I've never liked the GNU Parallel documentation very easy to navigate etc. I wish it was available as an info file instead of a giant manpage...
In general GNU Parallel is a much more powerful version of xargs. If you understand why you'd use xargs then you can use parallel for the same sort of stuff, but with more bells and whistles.