When it comes to baby knits I have a few essential criteria that have served me well in the past. I tend to knit items in advance and keep them ready for the inevitable 'surprise baby' from a co-workers spouse or when several new arrivals happen within weeks of each other.
I like to keep a well stocked baby box with enough choice so that I can match item to recipient, rather than gifting a handwash-only item to a dear friend who I know can shrink laundry just by looking at it.
I do knit the occasional girly cardigan on impulse such as Autumn Leaves if I have suitable yarn but mostly I tend to favour unisex knits in fairly neutral colours to maximise gift-giving potential. Otherwise it is bound to happen that there will be 4 baby boys born in a row and all I have in the gift box is a pastel pink Liesl.
One of the reasons that I prefer a plain and simple knit like my Fuss Free Baby cardigan is that it is endlessly adaptable. Short or long sleeves, plain or striped, frugal stashbuster or blow-the-budget cashmere it can be adapted to suit any requirements.
I tend to have several in the gift box in neutral colours and then when the gender is known I can add some cute and funky buttons. Gender stereotypes can be a social minefield but I do love adding pretty flower buttons to a plain cardigan for a girl, not least because (with having two boys) my opportunities for girly knitting are strictly limited.
For added ease and adaptability I knit both button bands plain and then, using small buttons (knitting police - look away now) sew them onto the appropriate side and then just poke them through the band on the other side to create little buttonholes. I'm sure the local WI would faint at the thought but I don't imagine that the baby or sleep-deprived mother for that matter would give it a second thought.
I have never been clear on which side buttons go for a boy or a girl and I'm not sure that it matters anymore but for the record the buttons for a girl traditionally go on the right of the garment.