Traditionally, a close friend, sister, or group of friends hosts the baby shower. The old etiquette rule that the mother or mother-in-law should not host has largely been retired. In practice, whoever is willing to do the work and has the bandwidth is the right host. Co-hosting with 2-3 people splits both the work and the cost.
The host typically covers the cost of food, decorations, and activities. Guests cover their own gift. If the budget is tight, potluck-style showers, backyard venues, and brunch formats keep costs manageable. A beautiful shower does not require a large budget — it requires thought and attention to what the parent-to-be would actually enjoy.
The parent-to-be should not host their own shower. If no one offers, it is perfectly acceptable for the partner or a close family member to organize a casual gathering. A "sprinkle" — a scaled-down shower — is also appropriate for second or subsequent babies.