All these words are often used interchangeably, but there is a technical difference.
Software – the programs and other operating information used by a computer. Software can be made up of more than one program. All-encompassing term that is often used in contrast to hardware (the tangible parts of a computer).
Application – A program or group of programs that is designed for the end user. Application software (an application) is a set of computer programs designed to permit the user to perform a group of coordinated functions, tasks, or activities. Application software cannot run on itself but is dependent on system software to execute.
Program – A set of instructions telling a computer what to do.
All applications are programs, but a program is not necessarily an application. For example, there are always lots of programs running on the background of an operating system, but since they weren’t developed for the end-user, they are not applications.