You can spot a good shirt from across a room by the collar. A good one sits up neatly at the back of the neck and lies flat at the front, no gaping between the buttons over the chest, no pulling into little horizontal creases at the waist. A poor one looks fine on the hanger and then does all its misbehaving the moment you sit down, drive, or reach for something on a high shelf.
Shirts aren't the right call for everything, and it's worth being honest about that early. If you need real warmth, a shirt is just a layer under something else, not the answer on its own, and anything with a boxy or oversized cut will add bulk under a coat rather than solving the cold. Fitted shirts can also be unforgiving if you're between sizes on the bust, because the size that closes properly there often gapes at the waist, so check both before you decide it's the fabric's fault. On the care and ageing side, cotton and linen shirts earn their keep over time but show it too: linen creases on purpose and softens nicely with washes, cotton will go a bit grey if you tumble dry it on high heat for a year straight, and anything satin needs a cool iron and a gentler wash or it dulls fast and starts pulling at the seams under the arms. Denim shirts are the toughest of the lot and barely need babying, which is part of why they last. A white shirt is only ever as good as its last wash, so if you're buying one, buy one that can survive proper washing rather than a delicate hand wash you'll skip after a fortnight.
For where and when, a crisp shirt covers office days and anything that needs you to look briefly more organised than you feel, while a looser linen or oversized version is better suited to warm weather, travel days, or layered over something in early autumn when you want air but not full arms bare. A black or white shirt tends to do more lifting across the year than a seasonal print, simply because it sits under jumpers in winter and alone in summer without ever looking wrong for the moment. On colour, I'd always point you towards white, black, or a mid blue denim wash before anything brighter, because those three go with trousers, skirts and jeans you already own, and they don't date the way a bold print does after a year of wear. Satin is lovely for evenings but shows every crease and every mark, so it's not the one to wear all day if you can help it.