cat is not a command for creating files. cat is a method for concatenating files. (see man cat.) It creates files the same way as any command capable of producing any output whatsoever -- shell redirection allows you to put its output into a file.
# Echo prints to stdout
$ echo asdf
asdf
# Echo prints to new empty file 'newfile'
$ echo asdf > newfile
# printf prints to stdout
$ printf "%02d\n" 9
09
# printf prints to new empty file 'newfile'
$ printf "%02d\n" 9 > newfile
# printf appends to file 'newfile'
$ printf "%02d\n" 9 >> newfile
# etc...
touch on the other hand is a command for creating new files(and updating their timestamps).
At first it is very important in *nix environments to have an eye on case sensitvity. It is a difference to use cat Cat or CAT. Only the 1st will work, but that just by the way.
cat is for showing the content of an already existing file. It alone will not create a file - you will have to redirect output with a > sign into a new file. Maybe this is more appropriate:
# writes text into the file "newfile"; overwrites it's content if it already exists
echo "Content of my new file" > newfile
# writes text into the file "newfile"; appends content if it already exists
echo "Content of my new file" >> newfile
# creates empty file named "newfile"
> newfile
# creates empty file named "newfile"
touch newfile