If I'm told to draw two cards and keep one but discard the other and one of the cards has an immediate effect does that effect go off?

Only if that's the card you keep. When you are told to decide between cards to keep and discard, the effects of the kept card will go off immediately once you decide that that is the card you are keeping. Otherwise the card you discarded was never in play and never took effect.