Почти нет разницы. "Изъян" более литературное слово и больше относится к внешним признакам. "Недостаток" - более простое слово, более распространённое, более современное, и может быть применено не только в внешним признакам. Чаще всего если хотят указать на функциональность, употребляют слово "недостаток", о функциональности нельзя сказать "изъян".