It would make more sense like:
infile > some_cmd > outfile
Then the arrow would be pointing in the right direction. But then it would be unclear whether "infile" is a file or a command. Which is why people use: cat infile | some_cmd > outfile
You can now interpret "cat" as a keyword that specifies that "infile" is a file.