A process represents a program in execution and has 5 possible states: new, ready, running, waiting, and terminated. It contains components like the program code, data, resources, and status. A program by itself is not a process as it only contains instructions and not an active execution. When a process executes, it transitions between different states as controlled by the operating system scheduler. The process's state and other details are stored in a process control block.