As ivanivan noted, the interpretation of the line parameters is done by the program (
useradd) in your case. Many programs don't care about the order of the parameters, but some do.
convert (from the imagemagick package) converts images and specifies:
convert [input-option] input-file [output-option] output-file
So, the input-option(s) have to be specified before the input file, and similar for the output-option(s).
There are much more complicated examples, such as compilers, which need options to be in a specific order in order to work correctly.
In all cases, it's very advisable to consult the
man pages of the command, or the --help (or -h or -? or whatever) of the program you want to run. Things can go wrong...