I assume you are coming from a non-technical background, so the terms are new to you. To fully understand a lot of the answers on this site, it is a good idea to take a beginners course like Computer Science 101 (CS101). That at least introduces you to the vocabulary and general concepts for how computers work.
There really isn't much difference between the two questions you have.
Executable: A file that is designed to be run by a computer
Executables are compiled to run for a specific architecture (like your ARM system) and the same executable can't run on other architectures. The CS 101 class will go into detail on why that is the case.
Software: A set of instructions that tell a CPU (like ARM) what to do
Software has more to do with the instructions than the files that make up a running application.
Binary Image: A file that contains a set of bytes.
Binary images are a low level concept, and can be an executable, a picture, a movie, or a copy of a disk drive. The main distinction here is that the contents are binary, not text.