Hardware implies permanence and invariability. Software or programming can easily be varied. You can put an entirely new program in the hardware and make it create an entirely new experience for the user. You can, however, change the modular configurations that most computers come with by adding new adapter or cards that extend the computer's capabilities.
In information technology, hardware is the physical aspect of computers, telecommunications, and other devices. The term arose as a way to distinguish the "box" and the electronic circuitry and components of a computer from the program you put in it to make it do things. The program came to be known as the software.