While the terms are still used these days, I'll refer to the Dos O/S example to help you understand the concept and their difference.
The Dos operating system requires a few critical files in order to work correctly, one of these is the 'command.com' file, which is a basic part of the operating system.
Command.com has built in commands, the so called "internal" commands and a few of them are "dir", "type", "vol", "date", etc. These commands are 'programmed' into the command.com file and do not require other files in order to work. On the other hand, we have commands such as "deltree", "undelete", "xcopy", etc. that are external commands, meaning that they require the actual application/file in order to use them, along with command.com.
This was first published in February 2004