A baby shower usually lasts around 2-3 hours, allowing enough time for guests to socialize, participate in activities, and enjoy the festivities. However, the duration can be adjusted based on personal preferences and the nature of the event.