Even men who don't have to adhere to a strict office dress code need a pair of smart shoes in their wardrobe for formal dinner parties and weddings.