Hi Aleksander,
Firm:
Firm has several meanings. Someone who is "firm" does not change their decision easily once they have decided on something. A "firm" object (such as a mattress) is not easily compressed by an external force.
Stiff:
Something that is stiff (such as a spring) is not easily compressed or stretched by a push or pull respectively. "Stiff" also collocates commonly with words such as "resistance" to describe a strong opposition to something. Example: The rebels faced stiff resistance from the advancing government troops.
Tough:
A tough material (such as some alloys) is durable and can withstand wear and tear. This word can also be used to describe something of great difficulty. Example: This is the toughest science paper that I have ever seen. Lastly, "tough" commonly collocates with words such as "character" to describe someone who is unpleasant to be with.
Rigid:
This word describes an object that is not easily bent. Example: A hardcover book. On the contrary, an object that can be bent easily without snapping into two is "flexible". A "rigid" person is one who tends to lack flexibility when situations change and are not adaptable to changes. Such as person "goes by the book".
Hard:
There is some similarity between "hard" and "firm" in the sense that such objects are not easily deformed by an external force. However, an object that is "hard" is resistant to scratches while a "soft" object is easily scratched. Examples: Diamond is a very hard material, therefore, do not put two diamonds together they may scratch each other.
The word "hard" also refers to something that is not easily accomplished. Example: You are going to have a hard time in prison.
Solid:
This word refers a particular state of matter which has observable properties such as having definite shapes and volume.
It also refers to a medium that is very densely packed with no spaces or gaps. Example: It was no easy feat trying to drill through solid rock.
Hope this helps.