The cat command is the simplest of filters. It copies its standard input (stdin) to the standard output (stdout).
By default your terminal acts as both stdin and stdout. What you type on the keyboard (stdin) is copied to your display (stdout).
When cat encounters the EOF (End of file) sequence generated by Ctrl-d it takes this to mean that there is no more input to follow and copies it to the file.