Unfortunately all of these terms have different meanings depending on the situation you are in.
In general, gain is a change in level internally in a piece of equipment and volume is a change in sound level in the room you are standing in. Obviously, in order to change the sound level in the room, you will have to change the gain level in the audio equipment... this is confusing.
Gain is normally used to match levels. Like adding gain to a mic signal to bring it up to line level so that a mixer, compressor, interface, etc... can do it's thing. As was mentioned before, you can also reduce gain. Again, that would be for matching the signal level to what the next piece of equipment in the chain is expecting.
So, gain is for level matching and volume is the final result.