Running programs without an OS used to be the norm not the exception. An OS has at minimum the ability to load and run other programs, additionally it may provide many other functions such as process separation, filesystem access, multi-tasking, device drivers, APIs, and so forth. If you look at the progression of operating systems over time you can see them becoming more and more sophisticated. Back in the early '90s, for example, if you were playing a DOS based video game each game would have to have its own low level drivers for things like video and audio cards. Today the OS handles that and the games just use an API (like DirectX or OpenGL).
I think API’s, and the ability to run different applications, usually within the OS, are the major distinction here.
I think it boils down to the concept that an OS should serve as a middle layer of abstraction between a program and hardware, and provide some sort of meaningful way to make that stream of communication more simple and useable for humans.