Best thing you can buy for someone who is expecting either a boy or girl is something they will go through a lot of, like those small towels. New parents seem to go through dozens of those a day. It might not seem as flashy as other gifts, but this person will be very grateful for this gift every day.
I love to give books for baby showers--you can choose books that the baby will like with soft surfaces and things to play with or a classic that mom and dad can read to the baby (and then write a sweet note on the flyleaf).
Another gift that was a hit was a "Baby's First Christmas" ornament--I happened to find it on sale because it was after Christmas but the family loved it!
When one of my best friends was pregnant, I bought one of those plastic baby box things and filled it with a few nappies, baby lotion, baby powder, nappy rash cream, a pack of vests, a couple of sleep suits, a hat, some baby socks, a hairbrush, some tiny, tiny nail clippers - lots of really cute things that weren't that expensive. My feind was thrilled and I really enjoy buying them :0)
Oh, I forgot--those little kits with a frame and clay, etc. so the parents can make hand/feet imprints are always a good idea (I've been to too many showers lately!)