Unless I misunderstood rickw's question, the file is named "--same-owner". The file name itself starts with --. So, your rm same-owner does nothing.
The GNU getopt() and getopt_long() command line parsing functions try to be smart (some would say too smart) and recognize command line options regardless of location or order on the command line. i.e. ls stupidfile -l is the same as ls -l stupidfile. This causes problems with files that start with - or --, thus the use of a lone "--" to tell the getopts to stop looking for command line options.
For fun, make a file named "-l". Do an ls * in that directory. It will be as if you did ls -l every_file_but_-l.
Dave "LordBeatnik"
EDIT:
To clarify my "-l" file trick, do it in a directory with other files. If you do it in a directory where "-l" is the only file, it will do the detailed ls for -l. (The same as ls -l -- -l). Are you confused yet? 8)