Here's why:
* Concrete nouns refer to things that are tangible, that you can touch or see. Examples: table, cat, book, rain.
* Abstract nouns refer to things that are intangible, like ideas, concepts, emotions, and qualities. Examples: love, happiness, justice, hospitality.
Hospitality is an abstract noun because it represents a concept: the act of welcoming and treating guests with kindness and generosity. You can't physically touch or see "hospitality."