Traditionally, baby showers are held one to two months before the baby is born. This is a good time period, as you don't want to have the shower too close to mommy's due date,and you want to have it early enough so that she has time to return items that she receives duplicates of or needs to exchange gifts.
She will also need time to order or purchase the items she did not receive that may have been on her baby shower registry.
The extra time before the birth also helps The Mommy-To-Be and Daddy-To-Be to set up all the great gifts they received if they building (Pack-n-Play, Crib, Play Mat, etc.).