It depends on the context of where ECHO is used. On the command line you can display defined environment variables (%var%) and literals. Within a batch file you can display passed parameters (%1 thru %9), defined environment variables (%var%), variables generated within the scope of a FOR statement (%%a thru %%z), and literals.
If you put two ECHO commands on the same line, the second ECHO will be treated as a literal.
You could always use DEBUG and create your own assembly language program for your own needs.
Hope this helps.