A baby shower is basically a party which is thrown to celebrate the impending birth of a new baby. It's also a way for friends and family to help the new parents get everything they need. After all, babies need tons of stuff, and the list can get quite expensive!
Essentially, it's a party to welcome the new baby and support the parents with gifts and love. Food is typically served, which can range from a dessert table or light snacks to a more substantial meal. And sometimes, the event includes activities such as games. Baby showers can happen before or after the baby is born.
Though a gift is expected if a guest attends, guests should only be invited to help celebrate the upcoming arrival, not for the gift they bring. If a guest is invited to a shower but can't attend, there is no obligation to send a gift, though they certainly may if they want to.