Commands are programs that have been designed to run in a command line interface. Input comes from Standard input and output goes to Standard output. With this arrangement programs can be connected together to perform an action that is more complicated than what the component commands could have achieved by themselves.
The commands included with Unix are typically written in C due to it's performance advantages over other languages. Scripts are often used when programmers need to create their own command line programs.