What steps are required to setup PostgreSQL and create a db in Windows?
In the psql client, you can only run SQL statements and psql commands (which start with a backslash).
So, to create a database, you would have to run
CREATE DATABASE demo;

The semicolon in the end is required to tell psql that the statement is complete.

The prompt you see:
postgres-#

shows that you didn't do that and psql is waiting for a continuation line. You see that from the -.
To delete the input buffer and get back to the prompt
postgres=#

simply press Ctrl+C. Then you can enter the CREATE DATABASE statement.

createdb is not an SQL statement, but an executable (program) that you would call from the shell (or from cmd.exe on Windows).
So the alternative is not to start psql, but type
createdb -U postgres demo